在某些应用中数据值集中分布在低数值范围,因此,可以用较小的数字来代表数据,较大的数字代表指令。
流程
// 满洲里国峰电子科技 www.guofengdianzi.com
// 微信:GuofengDianZi
main()
{
while(1)
{
if(UART_GetCharsInRxBuf()!=0)
{
UART_Getchar(&RxData);//将串口数据存入变量
FindMachine(RxData);//分拣至各个终端
SaveRxData();
CheckCmdorData();//识别收到的是指令还是数据
SaveCmdandData(&ReceivedCmd,&ReceivedDate);//分别对应保存至不同的变量
}
if(ReceivedCmd==COMMAND1)//若为指令,则执行,之后将指令清零
{
ExcuteCmd1();
ClearCmd();
}
if(ReceivedCmd==COMMAND2)//若为指令,则执行,之后将指令清零
{
ExcuteCmd2();
ClearCmd();
}
if(ReceivedDate==DATA)
DataProcess();//此处数据可以不清零,供其他函数使用,例如显示。更好的办法应该是把数据传给显示缓存
}
}
作者:伏熊(专业:射频芯片设计、雷达系统。爱好:嵌入式。欢迎大家项目合作交流。)
微信:GuoFengDianZi