如何使用switch语句和4个开关控制不同的流水灯效?
闭合一个开关可以展示一种流水灯效,不明白要怎么用switch语句实现。
程序内部循环扫描接口引脚,由于有4个开关,每个开关代表一种控制策略。
利用switch/case语句,可以根据不同switch(a)中a的参数,调用不同的case语句内的实现函数,
可以很简单的实现不同控制输入,对应控制输出。
由于没有具体需求,没法用详细程序描述。
可以做一个死循环,然后每次循环结束都检测一次开关。假设开关接的p1口的低四位,共八位。输出设备接p2口,共八位。大致思路如下:
int option=0x00;//记录开关状态,初始记录为0
while(true){
int opt=p1;//获取开关状态并暂存
if(opt!=0x00){
option=opt;//如果开关状态不是全零,即没有改变输出选择
}
switch(option){
case 0x01: flow1();break;//一种显示方案
case 0x02: flow2();break;
case 0x04: flow3();break;
case 0x08: flow4();break;
default: flow5();break;
}
}
其中flow函数表示不同显示方案的一个周期