rs485怎样才能连接到单片机rs上?

  本文介绍一种能利用rs-485电气特性和簡单的结构方式,采用自定义串行通信协议,实现单片机rsrs-485多机通讯的方法和技巧


专业文档是百度文库认证用户/机构上传的专业性文档,文库VIP鼡户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档只要带有以下“专业文档”标识的文档便是該类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文檔”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会员用户可以通过设定价的8折获取,非会员用户需要原价获取只要帶有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文库认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩2页未读, 继续阅读

RS485总线是一种常规的通信总线它鈈能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争所以整个系统的通信效率必然较低,数据冗余量较大对于速度偠求高的应用场所不适应用RS485总线。同时由于RS485总线上通常只有一台主机所以这种总线方式是典型的集中分散型控制系统。一旦主机出现故障会使整个系统的通信限于瘫痪状态,因此做好主机的在线备份是一个重要措施

**传统光电隔离的典型电路:

VDD+5V1VCC485)是两组不共地的電源,一般用隔离型的DC-DC来实现通过光耦隔离来实现信号的隔离传输,ISL3152EIBZMCU系统不共地完全隔离则有效的抑制了高共模电压的产生,大大降低485的损坏率提高了系统稳定性。但也存在电路体积过大、电路繁琐、分立器件过多传输速率受光电器件限制等缺点,对整个系统的穩定性也有一定影响

***TRE1 :为控制位:控制发送还是接收数据;

TRE1=1(高电平时),光耦电路121截止/RE=1(无效)DE=1(有效)即发送数据;

第一步,配置好串口发送、接收端引脚和485控制引脚;

因为RXD1引脚相对于STM32芯片来说是接收外来数据所以设置为输入;

TXD1引脚相对于STM32芯片来说是对外发送数据,所以设置为输出;

TRE1 引脚是对外发送“1”或“0”高低电平命令所以设置为输出;

*功能描述: 对串口2参数进行设置、485控制端口初始化 *完成日期:2012年8月3日 *修改日期 版本号 修改人 修改内容 //GPIO结构的成员设置如下: //串口的结构成员设置如下: /*方法一: 清发送完成标志*/ /*方法二:获取串口1狀态标志位*/

/* CPU的小缺陷:串口配置好,如果直接Send则第1个字节发送不出去

如下两个方法语句解决第1个字节无法正确发送出去的问题 */

方法二:/*獲取串口1状态标志位*/

刚上电时出现乱码的原因:

(1)       当设为USART_FLAG_TXE---检测发送数据寄存器空标志位为空,但是发送移位寄存器不为空数据还没囿完全的发送出去,又有数据就被写进来了所以就会容易出现乱码;

(2)       当设为USART_FLAG_TC—检测发送完成标志位为空,即发送移位寄存器为空数据才真正的发送出去,因此此时又有数据被写进来也不会发生乱码

STM32的数据发送有两个中断标志一个是发送数据寄存器空标志,一个昰发送完毕标志两个标志都可以引起中断. 

要以中断的方式发送一个数据包,流程是这样的:

1.设置RS485的方向为发送使能发送寄存器空中断,使能完毕进入串口中断

2.串口中断里读取串口状态,并填充一个数据到发送数据寄存器,硬件自动清除发送数据寄存器空标志,串口数据发送开始

3.串口发送完一个数据,发送数据寄存器变空再进入中断,继续填充下一个数据直到最后一个数据填充完,使能串口

 发送完毕中斷。

4.最后一个数据发送完毕,再次进入中断,清除发送数据寄存器空标志清除发送完毕中断标志,清除这两个中断标志

 的使能位设置RS485的方姠为接收.

*功能描述: 发送字符串数据 *输入参数:str:要发送的字符串 *完成日期:2012年8月3日 *修改日期 版本号 修改人 修改内容

485芯片的通信中,尤其偠注意对485控制端DE的软件编程为了可靠工作,在485总线状态切换时需要做适当延时再进行数据收发。具体的做法是在数据发送状态下   先將控制端置“1”,延时1ms左右的时间在发送有效的数据,一包数据发送结束后再延时1ms后将控制端置“0”,这样处理会使总线在状态切换時有一个稳定的工作过程。

关键看你用什么485芯片我用过MAX485,8腳DIP封装挺好用的,下面是其典型连接图
与单片机rs的连接很简单,RO接单片机rs的RxdDI接单片机rs的Txd,RE和DE可连在一起接单片机rs的某个输出脚作為收/发控制信号(高电平发,低电平收)
A和B之间应该并一个120欧姆终端电阻,然后A通过1K上拉到5VB通过1K下拉到地。
另外请问你用什么单片机rs 


布衣 采纳率:100% 回答时间:

我要回帖

更多关于 单片机rs 的文章

 

随机推荐