找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2515|回复: 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组也不会成功。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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