PIC单片机UART转RS485的c语言编程

PIC单片机UART转RS485的c语言编程,第1张

还用个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

}

}

软件问题,两个板之间的通讯只有 串行通讯,出现这种情况就是软件有问题。这么说吧,如果给故意A板发送一个错误的串行信息,如果A板不能正常工作那就是A板程序上有BUG,反之B板也一样。因为串行通讯的第一位是以低电平开头,出现在这种问题,只有一种可能那就是在串行通讯中没有处理通讯错误的程序。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存