51单片机 串口收发 C语言

51单片机 串口收发 C语言
//这是一个卡口程序,就是对超速车辆进行抓拍的处理的其中一段
/*相机发送出来的数据*/
unsigned int SpeedLimit; //速度限制
unsigned char ch;
unsigned char NumCom;
unsigned int Delever;

if(RI)
{
RI = 0;
ch=SBUF;
if(ch!=0xf) /*接收限速值*/
{
NumCom++;
if(NumCom==1)
{
Delever=0;
Delever=ch;
Delever=Delever<<8;
}

if(NumCom==2)
{
Delever=Delever+ch;
NumCom=0;
SpeedLimit=Delever;
}
}
else
{
NumCom=0;
}
}
请问其中的NumCom的表示什么意思?
还有NumCom==1,和NumCom==2分别表示什么情况?当NumCom==1时好像对接受的串口缓存器的值左移8位,当NumCom==2时好像进行了低8位的处理,然后NumCom=0复位,又进行新的循环处理,那么这段程序是不是对接受的串口数据的循环处理呢?我个人理解,不知道这样理解对不对,请高人指点,谢谢
该程序是超速拍2张不带逆行
SpeedLimit是16位的速度值,串口是分开两嫌行世次发的,第带败一次是高八位,所以要移位芹肢(Delever=Delever<<8;),接下是低八位,直接相加(Delever=Delever+ch; )
要测车的速度是不是要拍两次灶扒,也就是在两个不同的地点拍,NumCom应该是表次拍的次数,你后边的理解是对的,就宽辩掘是多辆车通过慎核嘛
← 上一篇: 下一篇: →