㈠ 单片机通过485如何避免通信冲突,比如要发送数据,但是串口在接受数据,这样是不是就要错过此次发送数据了
单片机通过485通信, 属于准双向通讯,在接收时不能发送,上位机与下位机通讯,
一般为 上位机 发送 指令 或者 数据,下位机接收完成后 判断 是指令还是数据,
并返回 执行状态 和 数据。
就是 有接收完成 后 马上 返回数据 给 上位机。即 上位机与下位机的收发协议。
如果 随意发送数据,那肯定会乱套了。
㈡ 关于51单片机3机(1主2从)用485串行通信的问题!!
其他没有错误,只是中断时候,cort跑飞
key_serial() interrupt 0 using 1
{
++cort;
//这里要加一个循环,确保一个中断只加一次,建议中断与P1.1口接上,这里就while(P1_1==0);
}
㈢ RS485主从式多机(单片机)通信,从机的地址是怎么确定或定义的
从机的地址是遵循协议,根据协议定义的。
RS485主从式多机通讯协议的数据传输协议:此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。
(3)单片机从机485扩展阅读
主从式多机通讯协议的错误检测方法:
1、超时检测
用户要给主设备配置-预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作为正常反应。如果从设备检测到一传输错误,消息将不会接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时。
2、CRC检测
CRC域是一个字节,检测了整个消息的内容。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,从设备对本消息不作回应。
通讯网络只设有一个主机,所有通信都由他发起。网络可支持254个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
㈣ 485电路,通信,单片机,主从
首先确定你的485芯片是好的,然后保证从机工作在“主从模式”,即:你的从机不是任何时候都在向外面发送数据,如果从既机要发送数据要有主机呼叫发送,并且要保证每台从机的呼叫识别码不同,这样在任意时刻就能保证仅有一台从机在与主机通信,从而不会发生数据的碰撞。还有一点需要注意的就是,要在485总线的两端加上终端电阻(一般选100欧姆并接在两根总线上)以避免信号的反射。你自己试试把。
㈤ 电脑作为主机,多个单片机系统作为从机使用RS485总线连接,总线和单片机间使用什么方式连接最简单
多个单片机系统作为从机使用RS485总线连接,这都要求了,用RS485总线啦,单片机就必须用RS485接口啦,这还有什么可说的吗?
总线是485的,有A,B两条线,单片机上用RS485接口芯片,也是A,B两个接线端,与总线的A,B直接连接吗。
RS485接口芯片有:75176,最好的是75LBC184,总线A,B两端带有ESD保护。见下图。
㈥ 单片机RS485多机通信, 从机可接收到主机的数据, 主机无法接收到从机返回的数据.
数据手册上Figure21 只有两个R20,其它487都没有
㈦ 台达PLC用485与单片机怎么实现通讯
有2种方案:
1、plc做从机,单片机做主机
2、单片机做从机,plc做主机
对上面两种,plc需要加485拓展模块或拓展小板,同时在plc内部需要通过写程序设置好d8140、d8141等寄存器通讯参数,对于51单片机需要连max485,同时需要控制好接受和发送,需要波特率与plc一致,协议的话建议使用
485
modbus协议。
㈧ 用多块51单片机用485进行串行通信
很明显,第一个程序是发送程序,通过定时器控制发送的内容;第二个程序时接受程序,使用串口中断接收。Rs485芯片有控制管脚,接收使能是低电平,一般只有在需要发送时方将其转为发送状态(高电平),发送完毕后即转为接收状态。
㈨ 单片机 RS485
单片机使用RS485通讯,可以使用全双工和半双工两种模式。半双工比较简单。
如果用半双工,根据你的工作电源,5V可以用MAX485、ST485、SP485等;3.3V用MAX3485、SP3485、ST3485等。全双工实际上就是采用两片芯片成为全双工。就是逻辑上要做点处理。
RS485采用通用串行口,增加一个发送/接收控制口(命名为RS485_CON),将单片机TX接MAX485的DI,RX接MAX485的RO,MAX485的RE和DE链接接在RS485_CON上,当RS485_CON为高时,是允许串行通讯输入,为低时,允许串行输出。MAX485输出为A、B差分信号,所以比RS232抗干扰能力强,传输距离相对RS232远。详见RS485规范。如果需要可以告诉我邮箱,发送给你。
一般我们使用时常要采用光电隔离,以保证可靠性。
在设计还要考虑网络终端要网络匹配电阻。
现在RS485的使用逐渐减少,我们现在一般留有这个口,实际很多采用CAN现场总线,通讯距离远,抗干扰好,很方便的组成一个总线网。
㈩ RS485主从式多机(单片机)通信,从机的地址是怎么确定或定义的写个类似程序看看
从机地址是由你从机中的软件定义的,当然要设置界面方便修改,以避免地址相同的情况。在串口中断处理程序中监听接收所有的串口消息,然后看命令中的地址是否是本机地址,是则响应命令,不是则直接丢弃改命令。