找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 762|回复: 2
打印 上一主题 下一主题
收起左侧

单片机按键的计数问题

[复制链接]
跳转到指定楼层
楼主
ID:1079270 发表于 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;
问:为什么按键有时候按下不起作用;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2023-6-19 14:21 | 只看该作者
在程序中,虽然BS是个实际的数字21,但不建议直接用数字21写程序,而用变量BS。
例如,程序中有50处用到BS,程序调试后发现BS=18比21好,这时你只要重新定义BS=18,就可以了。如果直接写数字,这时就要改动50个地方,甚至在哪里,找都找不全。
记住:即使BS只用到1、2处地方,也不要直接写数字,这是好的习惯。
直接写数字不是不可以,而是写程序不老道。

评分

参与人数 1黑币 +10 收起 理由
xnysfh + 10 赞一个!

查看全部评分

回复

使用道具 举报

板凳
ID:624769 发表于 2023-6-19 16:16 | 只看该作者
应该是写代码的人为了确保,即便有个傻缺 把 Long_Set_Sak 定义为了 0  也能 闪吧?
要知道,林子大了什么鸟都有,做一些看上去比较傻的设定,可以确保避免一些“极端”发生。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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