嵌入式技术论坛
直播中

世态薄凉

9年用户 1243经验值
私信 关注
[经验]

H7芯片uart5初始化报错的原因及解决办法

问题现象:
今天在使用一个新的控制器进行串口通讯时,一直未能成功发送数据。但其他串口都可以正常通讯。
使用串口为uart5,TX引脚为PC12,RX引脚为PD2。
问题原因:
通过单步调试,终于找到问题了。
是因为drv_usart.c的static const struct gpio_uart_af uart_afs[]引脚列表中,PC12/PD2对应的引脚信息中,UART_IS_RX与UART_IS_TX信息填错导致,如下图所示。

解决方案:
将UART_IS_RX与UART_IS_TX修改正确即可。
由于必须是uart5同时对应PC12与PD2才会触发这个bug,所以可能大家比较少遇到。

更多回帖

发帖
×
20
完善资料,
赚取积分