|  | 
 
| 
问题描述:程序本意是想实现接收主机发来的字符串,格式c01010001111000101010w,c为数据开始,w为数据结束标志位,串口传输方式为文本模式,如果接收到字符‘0’或‘1’,则转换成int型0或1。最终结果的低八位通过P1口,输出到发光二极管用来验证结果的正确性。
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  但程序运行时,二极管并没有反应,(主机pc发送没有问题)。
 请前辈们,看看以下程序哪地方有问题,谢谢啦
 
 void UART_SER (void) interrupt 4 //串行中断服务程序
 {
 unsigned int a,b,count;
 unsigned int cw[21];
 if(TI)
 TI=0;
 if(RI)
 {
 unsigned char ch;
 RI=0;
 ch=SBUF;
 if(a==1&&ch=='w')
 {
 a=0;
 b=1;
 }
 if(a==1)
 {
 if(ch=='0')
 {
 cw[count]=0;
 }
 else
 {
 cw[count]=1;
 }
 count++;
 }
 if(ch=='c')
 {
 a=1;
 count=0;
 }
 if(b==1);
 {
 b=0;
 P1_0=cw[0];
 P1_1=cw[1];
 P1_2=cw[2];
 P1_3=cw[3];
 P1_4=cw[4];
 P1_5=cw[5];
 P1_6=cw[6];
 P1_7=cw[7];
 }
 }
 }
 | 
 |