打印

GD32F103芯片串口发送报文最后一个字节为0x00时,无法进入空闲中断

[复制链接]
612|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
今天在调试GD32F103的时候发现了一个问题,串口通信用的是DMA+空闲中断的方式,当串口发送的报文的最后一个字节为0x00时,仿真的时候发现MCU不会进入空闲中断,这是什么原因导致的?跟报文长度,内容没太大关系,只要是最后一个字节为0,就不进入空闲中断了。

8819164fed8726146c.png (16.82 KB )

8819164fed8726146c.png

使用特权

评论回复
沙发
维维biu|  楼主 | 2023-9-11 17:09 | 只看该作者
补充一下:报文最后一个字节为0x00时,DMA是可以正常搬运数据的,但是MCU无法进入空闲中断。

使用特权

评论回复
板凳
daichaodai| | 2023-9-11 20:33 | 只看该作者
这个有点奇葩,和数据怎么会有关系,在看看你的软件处理逻辑吧。

使用特权

评论回复
评论
维维biu 2023-9-12 09:32 回复TA
我在想是不是GD的芯片串口接受报文最后一个字节是0x00后不会把电平拉高,检测不到空闲帧...,我用定时器模拟的空闲中断就解决了这个问题 
地板
Bowclad| | 2023-9-27 20:26 | 只看该作者
程序能发出来看看吗

使用特权

评论回复
5
Undshing| | 2023-9-27 21:31 | 只看该作者
空闲中断使能了吗

使用特权

评论回复
评论
维维biu 2023-10-9 17:20 回复TA
使能了,只要最后一个字节数据不是为0x00,报文都能正常接收。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

13

帖子

0

粉丝