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
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
串口通讯是指通过串行口(即COM口)来进行数据传输的一种方式。在VB中,通过串口通讯可以实现与外部设备的数据交互,如与单片机、传感器等进行数据传输。 串口通讯需要设置波特率、数据位、停止位和校验位等参数。其中,波特率表示每秒钟传输的位数,一般常见的波特率有9600、115200等。数据位表示每个字节的位数,一般为8位。停止位表示传输一个字节后的停止位数,一般为1位。校验位用于校验数据传输的正确性,常见的有奇偶校验和无校验。 在VB中,可以使用MSComm控件来实现串口通讯。首先需要添加MSComm控件,然后在代码中设置相应的参数,打开串口进行数据传输。具体的代码如下所示: ``` Private Sub Form_Load() With MSComm1 .CommPort = 1 '设置使用的串口号 .Settings = "9600,N,8,1" '设置波特率、校验位等参数 .PortOpen = True '打开串口 End With End Sub Private Sub cmdSend_Click() MSComm1.Output = "Hello world!" '向串口发送数据 End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then '接收到数据 MsgBox MSComm1.Input '显示接收到的数据 End If End Sub ``` 在上述代码中,通过设置MSComm控件的CommPort和Settings属性,打开串口进行数据传输。通过MSComm控件的Output属性可以向串口发送数据,通过MSComm控件的OnComm事件可以接收串口传输的数据,并进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值