[STC单片机] STC15W408AS IO置位时而失败 求大神指导

[复制链接]
1355|3
 楼主| keephome 发表于 2015-11-16 12:22 | 显示全部楼层 |阅读模式
  1. //        switch(rev) //rev是串口收到的数据
  2. //        {
  3. //            case 0x00: LED = 1; break; //熄灭
  4. //            case 0x01: LED = 0; break; //点亮            
  5. //        }
  6.         if(0x00 == rev)
  7.         {
  8.             LED = 1;//P34
  9. //            P3 |= 0x10;//重要事情说三遍 都不管用
  10. //            P3 |= 0x10;
  11. //            P3 |= 0x10;
  12.         }
  13.         else if(0x01 == rev)
  14.         {
  15.             LED = 0;
  16. //            P3 &= 0xEF;
  17.         }
  18.         
  19.         
  20.         if(led != LED)//LED改变串口发送状态
  21.         {
  22.             led = LED;
  23.             sprintf(str,"L:%d\n",(int)!led);
  24.             SendString(str);
  25.         }
  26.         if(rev!=0xFF) //串口输出 问题:rev 为 1或0 时,上面的LED=0或LED=1 置位有时不成功,IO口的模式都尝试了,问题依旧存在
  27.         {
  28.            sprintf(str,"rev:%d  %d\n",(int)rev,(int)LED);
  29.            SendString(str);
  30.         }
  31.         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很容易坏,以前买的有用着用着就坏了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| keephome 发表于 2015-11-16 13:19 | 显示全部楼层
快来大哥,给个帮助啊,谢谢
15715627181 发表于 2015-12-27 20:07 来自手机 | 显示全部楼层
15715627181 发表于 2015-12-27 20:09 来自手机 | 显示全部楼层
串口发送的有文本模式和ASCII模式,你发送的是哪一种模式,如果是文本模式就不行了,单片机处理的是二进制模式,如果你发送的是文本模式,单片机会进行转换,也就是发送的数据不对,也就不能控制了,希望可以帮助你,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部