Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1220634
  • 博文数量: 34
  • 博客积分: 10100
  • 博客等级: 上将
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-16 14:59
文章分类
文章存档

2011年(5)

2010年(4)

2009年(25)

我的朋友

分类:

2009-04-21 22:49:47

两个终端通过485总线进行通讯,终端通过模拟串口与PC机通讯。在测试完485总线与模拟串口通讯均正常的情况下进行联合调试。
 
1. 首先,485总线的波特率设为9600bps,模拟串口波特率设为4800bps,工作正常。
 
文件: 485_20090421_9600接模拟串口正常.rar
大小: 11KB
下载: 下载
 
2. 然后,把485总线的波特率改为4800bps,即把"TH1=TL1=0xFD"改为"TH1=TL1=0xFA",两终端间通讯不正常。不知是哪里出的问题,想到可能是485总线有特殊规定,但上网查,结果是485总线理想的工作速率为4800bps。后来在规范按键的程序后,即检测到按键为低电平后,等待600us,然后一直等待按键释放(高电平),问题就解决了。分析原因可能是: 在4800bps时,由于不断发送数据到另一终端,SBUF的上一数据还没发送完,新的又来填充,另一终端接收数据就出现错误码。而在9600bps时,数据传输速率较快,SBUF中的数据能在新的数据到来时及时发送出去,所以工作正常。
 
文件: 485_20090421_4800接模拟串口正常.rar
大小: 11KB
下载: 下载
 
 
阅读(2056) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~