此次评测使用的是N32G457VL-STB
开发板,板子除了reset外可以使用四个案件如下:
按键驱动使用agile_button 进行按键的点按及长按的识别
此次任务的按键功能map如下:
wakeup(A0) | key1 A4 | KEY2 A5 | key3 A6 |
点按切换音效模式 | 点按上一曲 | 点按暂停播放 | 点按 下一曲 |
| 长按音量+ | | 长按 音量减 |
| | | |
代码实现
- agile_btn_stop(&pre_btn);
- agile_btn_init(&pre_btn, GET_PIN(A,4), PIN_LOW, PIN_MODE_INPUT_PULLUP);
- agile_btn_set_event_cb(&pre_btn, BTN_CLICK_EVENT, pre_press_cb);
- agile_btn_set_event_cb(&pre_btn, BTN_HOLD_EVENT, pre_hold_cb);
- agile_btn_start(&pre_btn);
- agile_btn_stop(&play_btn);
- agile_btn_init(&play_btn, GET_PIN(A,5), PIN_LOW, PIN_MODE_INPUT_PULLUP);
- agile_btn_set_event_cb(&play_btn, BTN_CLICK_EVENT, pre_press_cb);
- agile_btn_set_event_cb(&play_btn, BTN_HOLD_EVENT, pre_hold_cb);
- agile_btn_start(&play_btn);
- agile_btn_stop(&next_btn);
- agile_btn_init(&next_btn, GET_PIN(A,6), PIN_LOW, PIN_MODE_INPUT_PULLUP);
- agile_btn_set_event_cb(&next_btn, BTN_CLICK_EVENT, pre_press_cb);
- agile_btn_set_event_cb(&next_btn, BTN_HOLD_EVENT, pre_hold_cb);
- agile_btn_start(&next_btn);
- agile_btn_stop(&mode_btn);
- agile_btn_init(&mode_btn, GET_PIN(A,0), PIN_HIGH, PIN_MODE_INPUT_PULLDOWN);
- agile_btn_set_event_cb(&mode_btn, BTN_CLICK_EVENT, pre_press_cb);
- agile_btn_set_event_cb(&mode_btn, BTN_HOLD_EVENT, pre_hold_cb);
- agile_btn_start(&mode_btn);
参考示例例程设置回调