找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机问题,为什么我这样写寄存器低8位加不进寄存器高8位啊?

查看数: 2867 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-8-4 16:53

正文摘要:

为什么我这样写寄存器低8位加不进寄存器高8位啊,请大佬们指点指点

回复

ID:739545 发表于 2020-8-5 16:24
可以连调么,可以的话看下TL和TH的值,怀疑TL和TH不能用作数据判断,用一个中间变量试一下
ID:609524 发表于 2020-8-4 18:25
蓝魄 发表于 2020-8-4 17:17
因为8位数据最大值是256,但是在编译环境中是从0开始的,也就是0-255,所以256是不存在的,永远也不会>=256 ...

我重新改了一下,你帮我看看我这个为什么还会无限的加下去
else if(RF_KEY==0x0D)        //亮度减少
                {
                         if(RF_PWM_JIE)
                         {
                                 RF_PWM_JIE = 0;
                                   //每次按下按键寄存器低8位加10
                             if(P1ADTL>=246)
                                 {
                                         P1ADTL = P1ADTL-245;                                       
                     P1ADTH=P1ADTH+1;
                                 }
                 else
                 {
                       P1ADTL = P1ADTL+10;       
                        if(P1ADTH>=1)
                       {
                             if(P1ADTL>=145)
                             {
                                  P1ADTL=145;
                              }
                        }
                 }
               
                         }
                }
ID:804115 发表于 2020-8-4 17:29
楼上说的对,仔细想想,if(P1ADTL >= 256)什么时候为真?有可能为真吗?如果有,你举例说明一下?
ID:86926 发表于 2020-8-4 17:17
因为8位数据最大值是256,但是在编译环境中是从0开始的,也就是0-255,所以256是不存在的,永远也不会>=256;

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表