这个没有现成的程序给你
因为涉及到初始化 是否使用中断 数据包格式等问题
下面是一段我做的产品的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板也一样。因为串行通讯的第一位是以低电平开头,出现在这种问题,只有一种可能那就是在串行通讯中没有处理通讯错误的程序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)