求助,串口异常
使用的是STC8A8K64D单片机,使用串口4转485和电脑通讯时通讯正常;但和另一个单片机通讯时数据进入单片机后有时会发生变化,导致数据会掉帧;
以下是接收程序
if(S4CON & 0X01)//接收中断
{
S4CON &= 0XFE;
Uart4_RXArr = S4BUF;
uart4RxCount++;
if(uart4RxCount == 1)
{
if(Uart4_RXArr != 0x68)
{
uart4RxCount = 0;
}
}
else if(uart4RxCount == 2)
{
if(Uart4_RXArr != 0x50)
{
uart4RxCount = 0;
}
}
// uart4RxFlag = 3;
if(uart4RxCount == 8)
{
uart4RxCount = 0;
uart4RxFinish = 1;
}
}
有大佬遇到这种情况吗
1,原理图要对,PCB 要对; 把详细的原理图PDF贴出来大家帮你分析
2,下面有通用的正确的程序
【新提醒】求STC8系列4个串口同时通信的程序,Modbus 演示程序 - 串行口,DMA支持的4组串口 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
作为从机,和电脑通讯时1S发送一条数据,一晚上没有掉帧。和另外一个单片机通讯时会偶尔丢失一帧数据 问题找到了,波特率太快了,波特率改小一半就好了 波特率越快,能传输的距离越短,具体实际验证
页:
[1]