单片机串口命令处理框架

串口中断

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    CmdAnalyze();//命令分析
    if(cmd == cmd_event1)
        event1 = true;
    else if(cmd == cmd_event2)
        event2 = true;
    ... ...
}   

主程序

void Main(){
    while(1){
        if(true == event1){
            event1 = false;
            task_event1();//处理事件1的任务
        }
        if(true == event2){
            event2 = false;
            task_event2();//处理事件的任务
        }
    } 
}  

 

posted @ 2022-09-01 17:36  阿坦  阅读(69)  评论(0)    收藏  举报