由于项目需要,用到了5个串口,在使用的过程中遇到了几个问题:
一、串口4和串口5无法进入接收中断,这个问题在网上已经找到了答案,这里也说明一下,是因为我的工程里面用到的启动文件是md的,对应stm32c8t6系列单片机,他在硬件资源上本身就没有UART4和UART5,因此他配套的启动文件里面没有UART4和UART5相关的声明。解决办法是将启动文件换成hd的。
二、有一路串口没有接收数据他却能一直进就收中断,这个问题的解决办法是将原来配置成浮空输入的接收端口改成上拉输入。
三、在使用GD32的串口4(对应stm32的串口5)时,由于用的也是md的启动文件,配置好后串口4可以发送,但是我用上位机接收到的和我在程序里面发的东西不一样,比如0x66他出来的是0x36,类似这样的错误,排除的波特率和时钟配置两个可能的原因之后,我发现把串口4只配置成发送模式,结果发出去的数据就正常了,后面把启动文件改成hd后配置成发送和接收模式都正常了。
串口没有接收数据却一直进接收中断
最新推荐文章于 2024-07-17 15:31:51 发布