这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » RS485调试经验小谈

共16条 1/2 1 2 跳转至

RS485调试经验小谈

院士
2012-06-29 22:24:02     打赏

RS485调试经验小谈

那年,我只是听说过rs485通讯;那年,我只是从代码上了解了RS485通讯;那年,我将rs485通讯从stc代码移植到了avr的atmega16上;那年,调试的时候花掉了我大部分时间……

Rs485通讯的关键代码如下:

1)        SETBIT(PORTD, RS485EN);

2)        delayXus(5);

3)        UartSendDataBuf( sUartData.SendDataBuff,sUartData.SendRtuFramLenth );

4)        delayXms(2);  

5)        CLEARBIT(PORTD, RS485EN);

  只有短短的5行。可是这5行代码,让我喜欢,让我忧。终究其原因,还是我对rs485通讯理解不够深入,调试经验缺乏。现在写出来,也不怕献丑,只为网友能够少走一些弯路,多享受一分成功后的喜悦。 第一行语句是将rs485的芯片max485的使能发送引脚提高,使能发送; 第二行语句是等待芯片完成使能信号处理; 第三行语句只是简单的串口发送数据;

第四行语句就是超级重点了。是等待发送数据完成后,释放使能发送引脚。这个时间要是短了,就会造成发送的数据最后1位(几位)变成0.例如发送0x55,那么接收很可能为0x54。如果等待时间长了,那么就会造成严重的宕机事故。因为,此时发送引脚还未释放,另一端数据又开始发送了。

第五行语句只是释放引脚,完成一次发送任务。 关键的第四行等待时间语句,关键的位置。大家要调试rs485时一定要注意啊!这个延时要根据自己选用的串口波特率来计算得出,切不可盲目copy别人的源代码。 不早了,祝各位晚安,周末愉快!!



关键词: RS485     调试     经验     小谈     发送    

助工
2012-06-29 22:34:54     打赏
2楼

存下来,后期调试用。.


菜鸟
2012-06-29 22:44:38     打赏
3楼

沙发居然被你占了~~

以前我也遇到过,只是没有写出来…… 惭愧啊


高工
2012-06-30 15:54:32     打赏
4楼
楼主威武。。。

专家
2012-07-02 08:30:06     打赏
5楼
真实经验谈呐!更系统些描述更好些!

院士
2012-07-02 09:36:24     打赏
6楼
05年注册的。
资深坛友啊~~

高工
2012-07-02 17:13:53     打赏
7楼
呵呵,支持

高工
2012-07-02 23:26:34     打赏
8楼
,EEPW的忠实粉丝啊

高工
2012-07-03 00:09:07     打赏
9楼
有好东西大家一起分享,有问题也大家一起想办法。

专家
2012-07-03 09:59:09     打赏
10楼
谢谢楼主的热心!

共16条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]