STMCU小助手
发布时间:2021-12-22 14:33
|
stm32H7 hal库错误内容汇总: 1. I2S
2.寄存器定义 我用的HAL库版本为V1.2.0; 其中Device中的STM32H743XX.h中寄存器定义错误。
跟寄存器定义不同。 所以最好使用新的固件库,但项目之前用的旧固件库,并且没有用到I2s。 还是关于I2S的坑,这次使用的HAL库版本是在官网下载的最新版本 FW_H7_V1.5.0.在使用全双工I2S时,需要包含 stm32h7xx_hal_i2s_ex.h 头文件 但是
图中宏定义根本找不到 ,自己添加宏定义后一堆错误 我也是服了。 有了SAI就对I2S这么不上心吗? 3.USB device卡死在HAL_PCD_IRQHandler中导致主程序无法运行 但并未出现错误 调试发现 程序一直进USB_OTG_DIEPINT_TXFE 即TX FIFO 为空中断 既然如TX FIFO 后 正常逻辑需要往TX FIFO 中填充数据 测试发现并没有, 发现 (USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) 刚好等于len32b导致条件不满足 又一直进FIFO为空中断 一直在中断中运行 形成死机现象 对比 HAL库1.5.0发现此处已更改为>= 更改后不会死机 但是 USB连接不上时仍需重启 库文件原代码 此BUG在F4驱动库中也存在 已更改
需要更改为
总结: 能用最新的HAL库就用最新的吧 可以避免很多坑 实在不行可以结合寄存器版本的函数来写,直接写寄存器还是比较靠谱,但是要参照HAL的流程 |
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
【福利三:逢7发帖赢大礼】成功利用STM32H743VI片内SRAM12和DTCM空间(完全胜利)
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
【福利三:逢7发帖赢大礼】使用惠勤致远STM32H743VI开发板+ST7796并口彩屏移植LVGL9.5并分享一些额外内容
【 逢7发帖赢大礼】7、TouchGFX中实现云彩流动效果
【 逢7发帖赢大礼】6、TouchGFX中添加图像素材和自定义代码编辑
【 逢7发帖赢大礼】5、TouchGFX 创建自定义界面和交互
微信公众号
手机版