while(1) { if (inbuf_sign) do_serial(); //串口数据处理程序 if (outbuf_sign) sendcmd(); //发送一个命令包 if (key_sign) do_key(); //按键处理程序 if (ir_sign) do_ir(); //红外处理程序 if (error_sign) do_error(); //按键处理程序 if (out_time_sign) timeout(); //超时处理程序,同时承担软狗的作用 if(DOG1&&DOG2&&DOGn) free_dog(); //有条件喂狗程序,free_dog()里还有一层判断 // delayms(5); //延时n mS } }