这个从逻辑上来说比较简单,涉及的主要是
1. 按键检测
2. 状态翻转(切换处理)
对于1,注意一下防抖就好
对于2,大致是有一个状态标记变量,比如为int flag 初始化为0,按1次键就累加1再对可能状态取余设置值,之后根据这个flag进行显示切换。
伪语言位
#define FLAGCOUNT 3 int flag=0; // 按键处理过程 void OnButton(){ flag=(flag+1) % FLAGCOUNT ; // 因为从上看只有3个状态,这里可以换 show(flag); // 这里的show是一个现实处理实现,会根据flag进行适当显示处理 }void show(int flag){ switch( flag ){ case 0: ... break; case 1: ... break; case 2: ... break; .... }}
这定义一个变量 比如 int i;
然后上电初始化 i=0;
后来进入主循环时 判断按键是否按下如果按下就i++;
然后在主循环的最后判断i的值
if (i==0) 处理一次
if(i==1) 在处理一次 以此类推