// 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很容易坏,以前买的有用着用着就坏了
|