问题标签 [stm32f7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1014 浏览

c - 在 C 中使用 LwIP 设置 DHCP 选项

使用 LwIP 库发送 dhcp 请求时,我在哪里可以更改 dhcp 选项的配置?

我需要设置选项 53(DHCP 消息类型(发现))、61(客户端标识符)、12(主机名)、60(供应商类标识符)和 55(参数请求列表)。

我在 stm32f7 上使用 CubeMx 创建了我的项目。

0 投票
4 回答
5950 浏览

stm32 - STM32F7 + FatFs = FR_NOT_READY

我现在使用 CubeMx 4.23.0 和 STM32F7 1.8.0 MCU 的固件包是 Core746i 板上的 STM32F746。一切都是由 CubeMx 自动生成的。

主.c:

sdmmc.c:

如果 f_mount(&SDFatFs, (TCHAR const*)SD_Path, 0) <- 此处为 1(强制安装),则输出为:

  1. f_mount = 0x03
  2. f_open = 0x01

使用 0(现在不要挂载)输出为:

  1. f_mount = 0x00
  2. f_open = 0x03

0x03 值是 FR_NOT_READY,但官方信息对此非常模糊

我尝试过的事情:

  1. 将 HAL_SD_Init(&hsd1) 添加到 MX_SDMMC1_SD_Init() 因为我没有找到 SD 卡 GPIO 初始化发生在哪里。
  2. 2 GB 无名 SD 卡,1 GB 创见卡。
  3. 不同的 hsd1.Init.ClockDiv 3 到 255。
  4. 彻底重新焊接一切。
  5. 使用 HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) 切换到 4 位宽总线;
  6. 打开和关闭引体向上。

但卡仍然没有安装。它采用 FAT 格式,在 PC 上工作,我尝试打开的文件存在,但为空。

如何让它安装?提前致谢!

0 投票
1 回答
850 浏览

c - sysTick 频率操纵?

我的 STM32F7 需要一个高精度中断。任务是在每个滴答声中增加一个计数器。CPU 的频率高达 216 MHz(来自数据表),这意味着可以实现大约 5 ns 的滴答持续时间,对吗?

经过一些互联网研究后,我发现 sysTick 可用于此目的。我应该简单地配置 SysTick 如下:

我在 SysTick_Handler 函数内切换一个 GPIO 引脚来检查执行频率,它是 1 毫秒。

我想实现 1 微秒的滴答持续时间,所以我用 100 替换了 1000(在代码中),然后我尝试了不同的数字,但似乎没有任何影响 1 毫秒的持续时间。

我在这里错过了什么吗?有没有比 sysTick 更好的解决方案来实现这个目标?

谢谢。

0 投票
2 回答
805 浏览

stm32f7 - 我可以将 c++ 与 stm32f7 一起使用吗?

我一直在浏览 St.com 网站提供的 STM32Cube_FW_F7 下载示例。

我注意到他们都在使用 c,有没有办法让我使用 c++。

0 投票
1 回答
127 浏览

java - 在 MicroEj 中使用 UART 和 STM32f746g-DISCO

我正在尝试使用 java 在 STM32F7 中使用 UART 串​​行通信与 MicroEj,并且我有异常抛出打开 Com 端口。这是打开连接的简单代码:

这是一个例外:

java.io.IOException:ECOM-COMM:无效的连接描述符。

我认为可能存在一些问题,CONNECTION_STRING但我找不到任何示例。任何人都可以帮助我吗?

0 投票
0 回答
39 浏览

arm - STM32F767ZI 与 DAC082S085 接口

我计划在同步模式下使用 STM32F767ZI USART 端口并控制 DAC (DAC082S085) 来生成两个模拟信号。我还想控制这些模拟信号的幅度。那么,在 CubeMx 和 Keil 中我该怎么做呢?

谢谢

0 投票
0 回答
441 浏览

c++ - stm32f746 flash read after write返回null

我正在将设置保存到闪存并再次读取它们。其中 2 个值总是空的。然而,数据被写入闪存,因为在复位后读取的值是新保存的值而不是空的。

在从另一家公司接手代码后进行了一些代码重构后,我开始遇到这个问题。

当您实际执行以下操作(旧的低效方式)时,保存和读取设置有效:保存设置 0 - 读取设置 0 保存设置 1 - 读取设置 1 ... 保存设置 13 读取设置 13

这是极其低效和缓慢的,因为从闪存读取具有所有设置的同一页面,清除整个闪存块,将新设置放入读取缓冲区,然后将整个块(仅更改 1 个设置)写入闪存. 这发生在所有 14 种设置中!!但它的工作...

实际上,我改变了这一点,在将闪存中的设置读入缓冲区后,更新缓冲区中所有更改的设置,然后擦除闪存块并将缓冲区写回闪存。缺点:将此缓冲区保存到闪存后,我的第一个和第四个值总是返回为 NULL。

但是,在系统复位后,会从闪存中读取正确的值。

我开始尝试清理数据缓存并使数据缓存失效。至少这两个值不再是 NULL,但是,它们仍然是旧值。所有其他值都是新的、保存的值。进行重置,所有值都正确。

有人遇到过类似的问题吗?或者也许我可以尝试摆脱这个问题的想法?

0 投票
1 回答
568 浏览

c++ - I2C 不确认从地址

我在 Nucleo 144 板上使用 STM32F767ZI MCU,C++ 作为编程语言和 IAR 嵌入式工作台 IDE。即使 I2C 已启用且 TXDR 寄存器中没有数据,TXIS 位标志状态也永远不会设置 (1)。

我还注意到,虽然主机和从机在相关寄存器中具有相同的从机地址,但没有出现 ADDCODE。尽管从代码中可以明显看出我正在使用轮询方法。ADDCODE 寄存器应该与从地址具有相同的地址,这也不会发生。

硬件设置已被验证为正确。

尝试使用 I2C1 作为主发送器和 I2C2 作为从接收器在同一 MCU 上执行环回测试。代码卡在如下部分:

如下IsTXISset()

有人可以帮忙吗?

0 投票
0 回答
281 浏览

c++ - STM32F767ZIT6 Nucleo openocd 闪存

STM32F767ZIT6 Nucleo 板并尝试使用模板中的闪烁代码对其进行闪烁

  • 已填充所有 CMSIS 和所需的驱动程序。
  • 安装了 GNU MCU eclipse 插件。
  • 构建代码
  • 已配置的 openOCD
  • 当尝试调试代码时,它会返回这些错误

我猜这可能与内存映射有关。想不通。 https://www.st.com/en/microcontrollers/stm32f767zi.html

*****真正的新手****(-(我正在使用Windows和eclipse Photon)

0 投票
1 回答
805 浏览

mutex - Uart dma receive interrupt stops receiving data after several minutes

I have a project that I have used stm32f746g discovery board. It receives data with fixed size from Uart sequentially and to inform application about each data receive completed, dma callback is used (HAL_UART_RxCpltCallback function). It works fine at the beginning but after several minutes of running, the dma callback stops to be called, and as a result, the specified parameter value doesn't get updated. Because the parameter is used in another thread too (actually a rtos defined timer), I believe this problem is caused by lacking of thread safety. But my problem is that mutex and semaphore don't be supported in ISRs and I need to protect my variable in dma callback which is an interrupt routine. I am using keil rtx to handle multithreading and the timer I use is osTimer that is defined in rtx. How can I handle the issue?