UART如何转换成rs485?

UART如何转换成rs485?,第1张

原理:

RS485工作电压其实就电平颠倒原理,两根线AB,通过在通讯 的时候按照主从约定好的速率,反转电平,来完成数据0和1的识别。

RS485只是一种硬件接口,他只是把来自单片机UART的信号,翻转电平进行传输,并驱动线缆。

所以RS485其实只是一种硬件接口驱动芯片。

图:

可以用这个电路

把PB721换成MCU的UART即可。

这个电路还可以一个MCU的UART共享232和485的串口

【图出处PB721手册】

如果是大规模网络,其实题主可以了解一下二总线技术。相比485更便于现场布线,支持无极性,任意拓扑,任意线缆。

还用个3.3V的PIC……

这个没有现成的程序给你

因为涉及到初始化 是否使用中断 数据包格式等问题

下面是一段我做的产品的uart中断发送程序 用的PIC16F

记得在处理过程中改变SN65HVD12D的收发状态

if(TXIE&&TXIF) //USART发送中断

{

CLRWDT() //喂狗

send_order++

//if((send_order<=(send_buf[4]+4))&&(send_order<=SEND_BUF)) //没有发送完一包数据

if((send_order <= send_number)&&(send_order<=SEND_BUF)) //没有发送完一包数据

{

TXREG=send_buf[send_order]

}

else //发送完成一包数据

{

flag_sending=0 //串口发送空闲,可以向串口发送数据包

TXEN=0

}

}

串口中断函数里面不能调用uart2_send_char(Rec)这个执行时间很长的函数。你可以把中断接收的数据放到一个数组的缓冲区内,然后定义一个字符串结束字符,当收到结束字符后再讲整个字符串返回计算机。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12065515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存