- 积分
- 9
贡献60
飞刀16 FD
注册时间2022-5-27
在线时间2 小时

 
|
发表于 2022-5-29 11:19:10
|
显示全部楼层
我说一下。如果波特率>38400,且每次收的数据>64byte,那么接收必然出现你说的情况。
1. 因为串口是中断接收,需要cpu处理,cpu很忙,它不仅要处理串口的事情,七大姑八大姨的事情,它同样要处理。这些小姑和大姨的事情,有时会让cpu关闭总中断。
2. 我记得imx串口的硬件fifo是64byte,所以只要接收的数据>64,或者cpu关了总中断,就会导致接收丢包。
我在此大声疾呼,我们大家付费,请飞凌的大神,做两个事情。
A. 在2022年的内核5.17更新中,串口的驱动性能,有提高,能否合并进来
B. 能否把串口的接收,搞成DMA接收。虽然多个人用DMA,也会造成丢包,但是概率会减小到忽略不计(这个更靠谱)。
希望神能听到凡人的呼唤:) |
|