打印
[STC单片机]

STC15W408AS IO置位时而失败 求大神指导

[复制链接]
1158|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keephome|  楼主 | 2015-11-16 12:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
//        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很容易坏,以前买的有用着用着就坏了

相关帖子

沙发
keephome|  楼主 | 2015-11-16 13:19 | 只看该作者
快来大哥,给个帮助啊,谢谢

使用特权

评论回复
板凳
15715627181| | 2015-12-27 20:07 | 只看该作者
回复

使用特权

评论回复
地板
15715627181| | 2015-12-27 20:09 | 只看该作者
串口发送的有文本模式和ASCII模式,你发送的是哪一种模式,如果是文本模式就不行了,单片机处理的是二进制模式,如果你发送的是文本模式,单片机会进行转换,也就是发送的数据不对,也就不能控制了,希望可以帮助你,,,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝