怎么解决blikerTab触发两次的问题
blikertab默认是4个独立的开关,我设计是只能触发一个状态并且返回(修改了示例代码如下) switch (tab_set){
case BLINKER_CMD_TAB_0 :
tab = true;
BLINKER_LOG("tab 0 set");
tab = false;
tab = false;
tab = false;
tab = false;
BLINKER_LOG("");
break;
case BLINKER_CMD_TAB_1 :
tab = true;
BLINKER_LOG("tab 1 set");
tab = false;
tab = false;
tab = false;
tab = false;
break;
case BLINKER_CMD_TAB_2 :
tab = true;
BLINKER_LOG("tab 2 set");
tab = false;
tab = false;
tab = false;
tab = false;
break;
case BLINKER_CMD_TAB_3 :
tab = true;
BLINKER_LOG("tab 3 set");
tab = false;
tab = false;
tab = false;
tab = false;
break;
case BLINKER_CMD_TAB_4 :
tab = true;
BLINKER_LOG("tab 4 set");
tab = false;
tab = false;
tab = false;
tab = false;
break;
default:
break;
}
但是只要上一次触发并且反馈了按钮状态的,下一次触发另外的任何一个按钮都是触发了两次
void tabCountFan() {
if (countFan == 1) {
for (uint8_t one = 0; one < 5; one++) {
tabSetFan = tab1;
}
} else {
for (uint8_t num = 0; num < 5; num++)
{
if (tab1)
{
if(lastSetFan==num){
for (uint8_t one = 0; one < 5; one++) {
tab1=tabSetFan;
tabSetFan=false;
}
}
}
}
}
}
我用利用触发次数解决了这个bug,但是如果服务器不响应,客户端收不到反馈的时候就又不行了
有没什么好的建议 自己理清程序逻辑吧,这种程序就不帮写了 coloz 发表于 2019-8-28 21:51
自己理清程序逻辑吧,这种程序就不帮写了
OK,知道一开始我不知道,我以为是bug,已经写好了
页:
[1]