找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2509|回复: 2
收起左侧

请教关于RS485问题

[复制链接]
ID:65512 发表于 2014-8-27 14:36 | 显示全部楼层 |阅读模式
RW = 1;
Delay_us(40);
HalUARTWrite( SERIALPORT, Data[5],6);
Delay_us(200);
RW = 0;
就是发不出去,如果让RW一直等于1,就可以发送出去,数据也是对的。或者如果RW一直等于0,则也可以接收,数据也是对的,为什么哪?

做了几个试验,因为没有示波器所以只能通过程序试验,有趣的是我设为连续发送比如3个后将WR设为0,这时只能发送成功2组,最后一个数据发不出去,如果设连续发送4组数据,前面三个成功,最后一个也不成功,调用发送程序后我加了大概200mS的延时才让RW=0,也不行。各位什么情况?我的发送子程序也看了没什么问题,如果有问题,前面的2组也不会成功。
回复

使用道具 举报

ID:65490 发表于 2014-8-27 16:35 | 显示全部楼层
485处于发关送时延时不够,RW=1后面延时延长点就OK了
回复

使用道具 举报

ID:65512 发表于 2014-8-27 17:42 | 显示全部楼层
我试过加在RW=1后面的时间为10mS以及发送子程序调用完成后加到200mS也不行,如果RW=1后面的时间短的话前面的几组也不会发送成功,现在就是让RW=0前面的一组不成功,如果不将RW=0那么可以一直发一直发,只要RW=0时前面的那组就不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表