void Menu_key_set(void) { key1 = Get_Key_1(); key2 = Get_Key_2(); key3 = Get_Key_3(); key4 = Get_Key_4(); if(key1 == 1) { func_index=table[func_index].up;//按键next按下后的索引号 OLED_Clear(); } if(key2 == 2) { func_index=table[func_index].down; OLED_Clear(); } if(key3 == 3) { func_index=table[func_index].enter;//按键next按下后的索引号 OLED_Clear(); } current_operation_index=table[func_index].current_operation;//执行当前索引号所对应的功能函数。 (*current_operation_index)();//执行当前操作函数 }添加什么函数可以检测按键松手,请添加进原函数
时间: 2023-12-06 15:39:49 浏览: 104
可以添加一个检测按键松手的函数,例如:
```
int Get_Key_Release(void)
{
int key_release = 0;
if(Get_Key_1() == 0 && Get_Key_2() == 0 && Get_Key_3() == 0 && Get_Key_4() == 0)
{
key_release = 1;
}
return key_release;
}
```
然后在 `Menu_key_set()` 函数中添加相应的代码来检测按键是否松手,例如:
```
void Menu_key_set(void)
{
key1 = Get_Key_1();
key2 = Get_Key_2();
key3 = Get_Key_3();
key4 = Get_Key_4();
if(key1 == 1)
{
func_index = table[func_index].up;
OLED_Clear();
}
if(key2 == 2)
{
func_index = table[func_index].down;
OLED_Clear();
}
if(key3 == 3)
{
func_index = table[func_index].enter;
OLED_Clear();
}
current_operation_index = table[func_index].current_operation;
(*current_operation_index)();
while(!Get_Key_Release()); // 等待按键松手
}
```
这样就可以在每次按键操作后等待按键松手,避免出现误操作。
阅读全文