我编写了一个串口通讯程序,在波特率为9600时两台机器通讯正常,当将波特率改为4800时其它设置未改,却无法通讯?(50分)

  • 主题发起人 主题发起人 蓝天鹤
  • 开始时间 开始时间

蓝天鹤

Unregistered / Unconfirmed
GUEST, unregistred user!
我编写了一个串口通讯程序,在波特率为9600时两台机器通讯正常,当将波特率改为4800时其它设置未改,却无法通讯?

 
这种情况一般较少,你可以仔细对一下两台机器的波特率是否一样,另外你用的是什么
控件
 
你可以确认是否发送端有数据否,如果有逻辑分析仪这样的工具最好,有示波器的话,你
也可以试着发0x55这样的数,看他的周期可以算出波特率,向1.2KHz就是2400,要没有仪
器的话你也可以用一些网上现成的串口调试软件像“串口调试助手(在www.21ic.com可以
找到)”看看能不能接受到数据,要能的话就是接收端有问题。要不能那就是发送出问
题了。我认为你需要先排除发送出错的可能性。一步一步你会找到问题的答案!
 
串口通讯,波特率就是其链路层规约,改变了波特率当然就改变了通讯规约。
解决办法就是双方通讯规约要一致,在此波特率要一致,对方是9600你就不能改为4800。
 
4800时电压也有关系
 
多人接受答案了。
 
后退
顶部