问题标签 [stm32f4]
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.
printf - 挂在 vsprintf()
我在 stm32f407 上编程并使用 vsprintf 访问分配给 argv 的所有参数,例如:
但是程序挂在 vsprintf 中。我修改了 stm32_flash.ld :
Makefile 中的 Cpu 标志:
有谁知道如何解决这个问题?请帮我。非常感谢。
stm32 - STM32上的CAN RX中断冻结
我有一个问题,我的 RX 中断回调在运行状态一段时间后没有触发(有时 30 秒,有时 10 分钟......),我不知道在哪里寻找故障。
我正在使用 Emtas 的 CANopen 堆栈,但该堆栈不会根据 fa 启用或禁用中断。Emtas,我也没有使用 IT 禁用。CPU 不会死机;即使在 RX 冻结之后,它也会在循环中运行。
信息:CPU-STM32f429、EMTAS CANOpen、Atollic lite、HAL 库。
代码流程:
CAN设置:
我在哪里/如何搜索这个问题的原因?
c - FreeRTOS vTaskDelayUntil() 立即完成
我有一个问题,vTaskDelayUntil() 函数没有延迟但立即完成。这是代码:
从这里我得到以下输出:
函数 sendDisplayData() 执行大约需要 670 毫秒,xTaskGetTickCount() 确认它。然后任务应该等待大约 1230 毫秒,因此整个迭代可能需要 2000 毫秒。但是 vTaskDelayUntil() 立即完成。第一次执行在 30534 结束,第二次也从 30534 开始。xTaskGetTickCount() 返回的值证明 vTaskDelayUntil() 没有引入延迟。我还可以通过 sendDisplayData() 的输出频率看到它。
第二个有趣的事情是 xLastWakeTime 显示完全不同的值,这些值实际上增加了 2000。它不应该存储 xTaskGetTickCount() 返回的相似值吗?
c - stm32 c,将原型导出到项目的其余部分
我正在 stm32f407vg 中开发一个小项目 (c),并遵循以下 UART 教程:
http://letanphuc.net/2015/09/stm32f0-uart-tutorial-5/#comment-346
我的问题是函数原型:
我必须如何在 usart.h 中进行声明,以便可以在项目的其余部分使用 printf()?
谢谢。
编辑:2017 年 1 月 20 日对纪尧姆·米歇尔的回应
我已经放入了 usart.h
和 usart.c 中的 PUTCHAR_PROTOTYPE:
在 main.c 中:
我已经尝试在其他地方放置代码的两个部分,但这是我唯一没有收到警告或错误的地方
watchdog - 带闪存擦除的 STM32F 窗口看门狗
我使用的是STM32F417 微控制器,我的代码从闪存运行,我使用 ST 的 Window 看门狗 WWDG。
问题是在闪存擦除期间应用程序停止,因为正如我所说,代码在闪存中并且触发了看门狗重置!
我该如何解决这个问题?
microcontroller - 使用 STMF401RE Nucleo 计算温度传感器的正确公式?
我正在使用 STM32F401RE Nucleo 板来测量环境温度。在采样过程之后,我从 ADC_CHANNEL_TEMPERATURE 收到一个数字值,我想将此数字值转换为 C°。我在互联网上搜索了这个,我发现了两种不同的方法:
方法1:http: //www.st.com/content/ccc/resource/technical/document中的第226页
方法 2:http: //www.st.com/content/ccc/resource/technical/document中的第 251 页
它让我困惑哪一个是计算 C° 温度的正确公式。虽然方法 1 来自 STM32F401 的参考手册,但温度结果看起来并不正确。而STM32F0系列参考手册中的方法2,看起来更合理。
还是不知道在使用STM32F401RE Nucleo板时应该应用哪个公式?
c - 无法使用 STM32F407 上的 Chan FatFs 库通过 SPI 写入 SD 卡文件
我正在使用带有 STM32F407 芯片的 STM32F4 开发板。为了与 SD 卡通信,我使用 SPI1,并使用 Chan 创建的 FatFs 库。
所以问题的要点是我已经成功地在 SD 卡上创建了一个文件,我可以从中读取。但是当我尝试写入文件时,它要么损坏文件,要么打印像这样的垃圾数据“{46040EDD-C”。如果我查看内存,我可以看到我写的东西,但不知何故,它被写入了错误的内存地址。
我遇到的另一个问题是,第一次创建文件并尝试使用 f_write 对其进行写入时,我得到了回复 FR_DISK_ERR。错误来自试图创建一个集群链,当我通过代码时它工作正常。所以可能会缺少一些延迟。下次我运行该程序时,它可以工作,并且 f_write 返回 FR_OK。
我不确定这些问题是否相关。我一直在努力让它工作大约两个星期,我希望能得到任何帮助。谢谢你。
编码:
主程序
我编辑过的 Chans diskio.c 文件。
SD_CARD.c:
SPI.c:
eclipse - GNU ARM Eclipse 3.2.1 空模板 HAL_Delay 导致 inf 循环
我得到了 Eclipse Neon GNU ARM Eclipse Plugin Vers。3.2.1 和 STM32F411RE Nucleo 板。我遵循了本指南: http: //gnuarmeclipse.github.io/
我成功安装了工具链,用可以工作的模板制作了一个 Blinky 程序,我也可以改变所说的 Blinky prog,即HAL_Delay(ms)
功能。
但是,一旦我创建了一个空项目,每次代码到达HAL_Delay
函数时,都会导致无限循环。
此代码适用于在线编译器:
但是在 Eclipse 中,当它到达HAL_Delay
. 但是该功能在 Blinky 模板中有效,但两者的 init @ SysCLK 是相同的。
有人可以告诉我我在这里缺少什么吗?
stm32 - STM32F104RE Nucleo:如何为开发板安装/配置外部时钟?
我正在使用 STM32F401RE Nucleo 板,我注意到内部时钟 HSI 在温度范围内具有很高的不准确性,不适合我的应用。
我想为开发板使用外部时钟,但不知道如何正确安装和配置外部时钟?
And in STM32Cubemx, when selecting SMT32F401RE Nucleo board, in "Clock Configuration" tab, it's not possible for choosing the HSE clock, only HSI clock available.
任何关于如何使用外部时钟源的例子对我来说都很棒。
谢谢