115200波特率-串口基本知识

串口基础

最近再用安卓做上位机用RS485和组件通信,记录下学到的知识;

115200波特率(bps):代表1秒可以传送115200 bits的数据。

1T=1024G
1G=1024M
1M=1024KB
1KB=1024B(byte)
1B=8bit

案例:

上位机 --发–> 外接组件
上位机 <–收-- 外接组件
通信协议RS485,115200波特率,数据格式为16进制,以帧为单位传输2ms为帧之间的间隔

上位机  --发--> 外接组件:
下发数据是:00 05 02 05 0C 5个字节;
那么 数据量: 5*8=40bit*115200大约等于0.3到0.4毫秒;
上位机 <--收--  外接组件 
接收数据是:00 64 02 00 00 01 02 03 0C 9个字节;
那么时间:9*8=72bit*115200大约是0.6毫秒
我现在的下发指令线程休眠时间是100ms一次;
没有办法保证下发和接收的线程时启动 不能把线程休眠设置成 下发时间+上次时间+一些处理时间(最多1-2毫秒);

因为我串联接了5个外接设备每个之间的信息传输时间差为3ms,所以大致时间应该是 
:5*2+2=12ms
但因为接了5个所以接收的数据量更大了 所以 :
0.4(下发是广播时间不变)+3*4+0.6*5+1约等于17ms
也就是说我需要再117ms的时候去接收才可以接收的到消息;
目前接收线程休眠时间是20ms

你可能感兴趣的:(java,Android,串口通信)