找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机程序 想用一个按键来0-4递增,逻辑上一直没想明白怎么写?

[复制链接]
跳转到指定楼层
楼主
ID:699774 发表于 2021-10-27 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人想用一个按键来0-4递增,然后到达4后开始递减,然后再递增。逻辑上一直没想明白怎么写,之前写的是0-4,然后归0,再往上加。希望各位指导一下
System_Info.Current_Gear ++;
                                        if(System_Info.Current_Gear >= 5)
                                        {
                                                System_Info.Current_Gear = 0;
                                        }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:699774 发表于 2021-10-27 17:40 | 只看该作者
不改变按键检测方式,就是只短按
回复

使用道具 举报

板凳
ID:624769 发表于 2021-10-27 18:41 | 只看该作者
本帖最后由 188610329 于 2021-10-27 19:07 编辑

如下:
bit Key_Stats = 1;
uchar Key;

if(Key_Stats){
        Key++;
        if(Key >=4) Key_Stats = 0;
}
else
{
        Key--;
        if(Key <= 0)    Key_Stats =1;
}
回复

使用道具 举报

地板
ID:123289 发表于 2021-10-28 09:23 | 只看该作者
同上:
bit Key_Stats = 1;
uchar Key;

if(Key_Stats){
         Key++;
         if(Key >=5) Key_Stats = 0;
}
else
{
         Key--;
         if(Key <= 0)    Key_Stats =1;
}
回复

使用道具 举报

5#
ID:917597 发表于 2021-10-28 09:23 | 只看该作者
简单说,你要定义两个变量,一个代表按键值,一个作为标志位代表按键是加还是减,每次按键按下都判断现在标志位是加还是减,当按键值加到四或者减到零就把标志位取反。
回复

使用道具 举报

6#
ID:415064 发表于 2021-10-30 20:22 | 只看该作者
需要用一个变量来记录当前是递增还是递减的。
回复

使用道具 举报

7#
ID:831736 发表于 2021-10-31 09:13 | 只看该作者
unsigned char i,;
csSystem_Info.Current_Gear=i-(i/5)*(i%5*2+1);
i++;if(i==9)i=0;
回复

使用道具 举报

8#
ID:831736 发表于 2021-10-31 09:30 | 只看该作者
一giao我里giao 发表于 2021-10-31 09:13
unsigned char i,;
csSystem_Info.Current_Gear=i-(i/5)*(i%5*2+1);
i++;if(i==9)i=0;

按键控制的话就让按键按下i就加1就行了
回复

使用道具 举报

9#
ID:836515 发表于 2021-10-31 11:40 | 只看该作者

unsigned char i;
System_Info.Current_Gear=i-(i/5)*(i%5*2+1);
i++;if(i==9)i=0;
回复

使用道具 举报

10#
ID:514901 发表于 2021-11-1 09:19 | 只看该作者
if(++System_Info.Current_Gear == 5)
{
    System_Info.Current_Gear = 0;
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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