问题标签 [stm32cubeide]
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.
timer - 如何修复我的代码以使 STM32 Nucleo 板上的 LED 与 1 秒、50% 占空比 PWM 同步闪烁?
我的板子是NUCLEO-H743ZI2
我将 TIM4、CH2 配置为 PWM,这样 TIM4 输出应为 HI 半秒和 LO 半秒。这是 block.ioc 时钟和引脚配置
我自动生成了代码并尝试添加自己的代码以使用 PWM 的 H/L 切换 LED。我想做的是:
if(timer_4 == HIGH) LED_state = !LED_state
这是实际的代码:
我知道这很可能不起作用。实际上。我很困惑,因为用 <=100 替换 >=500 实际上使它看起来像是在工作..但是 LED 只是以看似随机的间隔闪烁。我试图测试 !timer{..} (定时器达到 0)是否切换 LED,但我的方法似乎都不起作用。
我对计时器有误解吗?有什么非常明显的东西我错过了吗?用 1 秒 PWM 闪烁 LED 似乎并不困难
embedded - 将旋转编码器与 HID 设备 (STM32) 连接
我正在尝试创建一个旋转编码器设备,该设备将根据我是向前还是向后转动它来输出一组按键,但到目前为止,我对它是否只是使用滚轮描述符感到困惑,就像你一样连接编码器通常并根据按键创建输入报告,或者如果还有更多。在我的方法中,我试图在定时器编码器模式下将编码器与我的 STM32 接口,硬件对我来说很重要,并且根据它是增加还是减少,我输出一组按键,但我不确定如果这是正确的方法。
c++ - 无法在 STM32f4xx 上启用定时器中断
我正在做一个需要定时器中断的项目。
使用 STM32cubeIDE,我生成了应该与定时器中断一起工作的代码。这是我的 main.cpp 的截断:(htim1
是一个全局句柄)
这是MX_TIM1_INIT()
看起来的样子:
这是我的中断处理程序的样子:
这是我的回调函数:
无论我做什么,我都无法让调试器进入处理程序....有人能告诉我我做错了什么吗?谢谢!
stm32 - STM32H723- DMA DAC 仅适用于 const 吗?
在 STM32G4 中,我能够设置 DAC DMA,以便我可以使用常规变量(即uint8_t
数组)。但是,当我尝试将代码移植到 H723 时,DAC DMA 将无法工作,除非它使用const uint8_t
在运行时之前设置的常量变量(即数组)。我的应用程序需要对数组进行运行时更改。数组的指针初始化似乎不起作用。我想知道是否有办法解决这个问题?我是否坚持使用常量变量?谢谢!
EDIT1:DAC DMA 和 TIMER 的当前设置
Timer15 配置:
DMA 配置:
在主函数中:
此设置不起作用,但只需初始化dac_data1
为const uint8_t
并预定义它,DMA 就可以工作。
usb - STM32CubeIDE有什么方法可以使用USB DFU上传内存镜像吗?
最近我决定使用 USB DFU 而不是 SWD 将图像上传到 STM32 闪存。尽管那时无法进行调试,但这是一种更方便、更简洁的方法。
但我不需要调试功能。
我知道使用 STM32CubeProgrammer 我可以上传程序。但是在 STM32CubeIDE 中编译和生成图像文件并在 STM32CubeProgrammer 中选择图像文件并单击上传,然后手动断开连接,每次更改代码时都会产生巨大的开销和浪费时间。
那么有没有什么办法可以将STM32CubeProgrammer的功能与STM32CubeIDE集成起来,让这一切过程变得更加高效呢?
我已经在网上搜索了一段时间,但没有任何成功。
任何帮助或评论表示赞赏。谢谢。
stm32 - 确定填充以保存固件 SHA256 使用 STM32F746GDISCOVERY 验证完整性
我正在尝试使用加密库 (X-CUBE-CRYPTOLIB) 实现固件完整性检查,为此我必须计算 SHA256 校验和,然后确定填充并将其包含在我将上传到板的二进制文件中。
我一直在看 STM 的 mooc Security 第 4 部分
https://www.youtube.com/watch?v=RahlfYJ1gDs&list=PLnMKNibPkDnF0wt-ZI74SflnsBV4yKzkO&index=7
在实验室中,他们对 stm32g0 进行验证。问题是我不知道如何确定固件的大小,在实验室里他们使用页面大小,但在我的板上,闪存有不同大小的块:
我还有一个外部存储器,我也想对其进行 SHA256 计算。该内存由 256 个 64k 的块组成(它们的大小都相同)。
我遇到的另一个困难是十六进制文件涵盖了两个扇区(内部和外部闪存),所以我不知道是否将内部和外部哈希分开放置(就在 FW 区域命中之后)。