标题: 单片机按键的计数问题 [打印本页]

作者: xnysfh    时间: 2023-6-19 08:58
标题: 单片机按键的计数问题
        define Long_Set_Sak  20
             if(LIGHT_Shake == Long_Set_Sak)              {
                       if(Light_State ++ >= 7)        Light_State = 0;  
                       DataBuffer[0] &= 0xf8;
                       DataBuffer[0] |= Light_State;
                       spi_send_en = 1;
               }
               if(LIGHT_Shake++ >(Long_Set_Sak + 1))                LIGHT_Shake = Long_Set_Sak + 1;

问:为什么不直接给LIGHT_Shake 赋值,例如LIGHT_Shake = 21;
问:为什么按键有时候按下不起作用;

作者: yzwzfyz    时间: 2023-6-19 14:21
在程序中,虽然BS是个实际的数字21,但不建议直接用数字21写程序,而用变量BS。
例如,程序中有50处用到BS,程序调试后发现BS=18比21好,这时你只要重新定义BS=18,就可以了。如果直接写数字,这时就要改动50个地方,甚至在哪里,找都找不全。
记住:即使BS只用到1、2处地方,也不要直接写数字,这是好的习惯。
直接写数字不是不可以,而是写程序不老道。
作者: 188610329    时间: 2023-6-19 16:16
应该是写代码的人为了确保,即便有个傻缺 把 Long_Set_Sak 定义为了 0  也能 闪吧?
要知道,林子大了什么鸟都有,做一些看上去比较傻的设定,可以确保避免一些“极端”发生。




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