EDA365电子论坛网
标题:
怎么才能才保证没有接收错误,串口波特率为115200
[打印本页]
作者:
wushy
时间:
2020-1-7 11:30
标题:
怎么才能才保证没有接收错误,串口波特率为115200
1.上位机跑的是linux,子模块通过串口和上位机通讯,波特率115200.结果发现linux接收有overrun。
3 ]+ ~8 n; N3 | O* F5 @
具体的要求为挂机三天,不能出现overrun。
: ]7 w; f* O O$ l* w5 W9 G
- s7 l* K9 \5 Z( H4 O/ J
2.我的看法是,由于linux不是实时操作系统,所以一旦波特率过高,linux是没法保证一定没有overrun。即使上位机的cpu频率很高,也没有用。
3 G! \" p# n6 s+ y- i% ^9 ~
只能靠rts和cts这些硬件控制。
, P8 ]. m; m' [. u, x, ?0 a
9 ?5 W, Z1 H1 ^
另外我看以前的拨号moden也是用rts和cts,所以我觉得要加硬件流控。
+ _4 R ^% G7 D
这种想法对吗
# X5 D* K8 o$ Y7 ^/ H' \% U/ o
作者:
ededewa
时间:
2020-1-7 18:00
可以硬件流控制,或者增加buffer,算清楚一个轮询cycle到buffer的时间,以及处理buffer需要的时间,就能理论上算出不会overflow的buffer大小
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2