- // switch(rev) //rev是串口收到的数据
- // {
- // case 0x00: LED = 1; break; //熄灭
- // case 0x01: LED = 0; break; //点亮
- // }
- if(0x00 == rev)
- {
- LED = 1;//P34
- // P3 |= 0x10;//重要事情说三遍 都不管用
- // P3 |= 0x10;
- // P3 |= 0x10;
- }
- else if(0x01 == rev)
- {
- LED = 0;
- // P3 &= 0xEF;
- }
-
-
- if(led != LED)//LED改变串口发送状态
- {
- led = LED;
- sprintf(str,"L:%d\n",(int)!led);
- SendString(str);
- }
- if(rev!=0xFF) //串口输出 问题:rev 为 1或0 时,上面的LED=0或LED=1 置位有时不成功,IO口的模式都尝试了,问题依旧存在
- {
- sprintf(str,"rev:%d %d\n",(int)rev,(int)LED);
- SendString(str);
- }
- rev = 0xFF;//作为无内容不会被接收
说明:
1、rev 是串口收到数据
2、有两个定时器中断 T0和PCA 所有中断都是使用了 using 1或不使用都有这个问题3、IO的不同模式都尝试了,问题依旧,换了不同IO口还是有问题
问题:rev为0或1时,在给 LED即P34 置位LED=0或LED=1 时 有时不成功 ,后面发送LED值没有改变,灯的状态没变
请问有人遇到这个问题么,求指点
串口数据
或者是STC单机有问题,用的STC淘宝买的两个,一个直接不能写程序
感觉STC很容易坏,以前买的有用着用着就坏了
|