单片机用串口按照一定协议通信时,怎么判断处理解析主机下发的一帧数据?

2025-03-25 07:45:50
推荐回答(1个)
回答1:

把收到的数据放在一个数组里面
从数组里面读取数据依次判断帧头帧尾及校验码是否与发送端一致。
如:

void MtiG_Init()
{
char SFRPAGE_SAVE=SFRPAGE; //进入SF RPAGE前先保存
SFRPAGE = UART0_PAGE; //进入UART0的SFRPAGE页
while(Step==1) //MTIG进入循环配置,直到配置成功
{

U0_Send_String(Config,5);
ES0 = 1;
}
while(Step==2)
{
U0_Send_String(Output,7);
}
while(Step==3)
{
U0_Send_String(Outset,9);
}
while(Step==4)
{
U0_Send_String(Measure,5);
}

SFRPAGE=SFRPAGE_SAVE;
}