buf_full总是为零,说明你的命令接收解析不正常,没有能够完成任何一个命令的解析,所以在
case '*':
switch(cmd_number){
case 1:
buf_full|=0x01;
break;
case 2:
buf_full|=0x02;
break;
case 3:
buf_full|=0x04;
break;
case 4:
buf_full|=0x08;
break;
case 5:
buf_full|=0x16;
break;
case 6:
buf_full|=0x32;
break;
}
mode=0;
break;
这段无法使得buf_full赋值。
仔细检查一下default:这个部分的程序吧