打印
[RTOS]

在RTT下,AT32F437串口丢数据

[复制链接]
1400|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如下图所示,串口助手循环发送,间隔时间100ms,会不定时的丢1字节数据。串口配置为115200,串口RB设置为4096,中断接收,轮询发送。


使用特权

评论回复
沙发
sheltonyu| | 2022-10-24 10:58 | 只看该作者
您好,在我的环境下没能复现出您的问题现象。
前不久对串口驱动中的中断接收处理部分有提交过一点更新,您可更新仓库或自行修改试试看。改动点如下图,屏蔽掉如图鼠标所示语句即可:

IMG_20221024_105704.jpg (107.21 KB )

IMG_20221024_105704.jpg

使用特权

评论回复
板凳
Pretext| | 2022-11-1 17:24 | 只看该作者
这种问题不好找,可以先裸机跑一跑。

使用特权

评论回复
地板
Pretext| | 2022-11-1 17:25 | 只看该作者
裸机跑的没问题,那大概率就是RTT的问题了。如果是RTT的问题,更新一下RTT版本试试。

使用特权

评论回复
5
朝生| | 2022-11-1 17:26 | 只看该作者
串口是挺常用的通信了,不应该有这种问题,是不是线虚的问题?

使用特权

评论回复
6
rlyabc| | 2022-11-2 17:13 | 只看该作者
我也遇到这个问题,我使用的是RT-THREAD studio  系统使用的是4.1版本的,芯片使用的是AT32F437VMT7,实际测试时钟频率再108Mhz以上时,基本没有丢字节的情况,在时钟在108MHz,或者低于108Mhz时,丢的越频繁。目前没有找到问题,暂且将时钟频率调高使用。

使用特权

评论回复
7
V853| | 2022-11-5 10:17 | 只看该作者
rlyabc 发表于 2022-11-2 17:13
我也遇到这个问题,我使用的是RT-THREAD studio  系统使用的是4.1版本的,芯片使用的是AT32F437VMT7,实际测 ...

这种情况有可能时钟频率不稳定导致的?

使用特权

评论回复
8
tpgf| | 2022-11-7 14:58 | 只看该作者
降低115200搭配9600试试看还会不会丢数据呢

使用特权

评论回复
9
八层楼| | 2022-11-7 15:14 | 只看该作者
首选排除串口调试助手本身的问题 因为有可能是数据源头出现了问题

使用特权

评论回复
10
观海| | 2022-11-7 15:23 | 只看该作者
丢掉的数据的位置是固定的吗 还是一个随机数据呢

使用特权

评论回复
11
guanjiaer| | 2022-11-7 15:52 | 只看该作者
100ms的时间间隔足够了 只不顾每包发送的数据是不是过大呢

使用特权

评论回复
12
heimaojingzhang| | 2022-11-7 16:02 | 只看该作者
楼主是使用的轮询接收模式还是中断接收模式呀

使用特权

评论回复
13
keaibukelian| | 2022-11-7 16:12 | 只看该作者
实际使用的主频配置为多少了  会不会因为主频过高导致丢失数据呢

使用特权

评论回复
14
aple0807| | 2022-11-9 18:23 | 只看该作者
中断优先级设置高一点

使用特权

评论回复
15
linjinming2000| | 2022-11-10 23:38 | 只看该作者
如果你的中断优先级不是最高的话可能会丢数据,这个时候会发生过载错误,你可以debug看是否进入错误中断,串口通信最好采用DMA方式,DMA设置为循环方式,在定时器中断里面判断DMA传输数量是否变化,如果有变化说明有数据接收,然后启动超时判断,超时结束时那么就接收完成了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我相信,只要坚持就会有成绩!

3

主题

10

帖子

0

粉丝