标题: 单片机问题,为什么我这样写寄存器低8位加不进寄存器高8位啊? [打印本页]

作者: 杨天想    时间: 2020-8-4 16:53
标题: 单片机问题,为什么我这样写寄存器低8位加不进寄存器高8位啊?
为什么我这样写寄存器低8位加不进寄存器高8位啊,请大佬们指点指点

BPT%CZQ6[7HA7DT{QYQF{]5.png (36.49 KB, 下载次数: 48)

BPT%CZQ6[7HA7DT{QYQF{]5.png

作者: 蓝魄    时间: 2020-8-4 17:17
因为8位数据最大值是256,但是在编译环境中是从0开始的,也就是0-255,所以256是不存在的,永远也不会>=256;
作者: 1692483014    时间: 2020-8-4 17:29
楼上说的对,仔细想想,if(P1ADTL >= 256)什么时候为真?有可能为真吗?如果有,你举例说明一下?
作者: 杨天想    时间: 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;
                              }
                        }
                 }
               
                         }
                }
作者: lovezjf234    时间: 2020-8-5 16:24
可以连调么,可以的话看下TL和TH的值,怀疑TL和TH不能用作数据判断,用一个中间变量试一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1