单片机/MCU论坛
直播中

辛书伟

12年用户 109经验值
擅长:嵌入式技术
私信 关注
[文章]

【国民技术N32项目移植】板载4个案件驱动



此次评测使用的是N32G457VL-STB 开发板,板子除了reset外可以使用四个案件如下:
按键驱动使用agile_button 进行按键的点按及长按的识别

此次任务的按键功能map如下:
wakeup(A0) key1 A4 KEY2 A5  key3 A6
点按切换音效模式 点按上一曲 点按暂停播放 点按 下一曲
长按音量+ 长按 音量减
代码实现
  1.     agile_btn_stop(&pre_btn);
  2.     agile_btn_init(&pre_btn, GET_PIN(A,4), PIN_LOW, PIN_MODE_INPUT_PULLUP);
  3.     agile_btn_set_event_cb(&pre_btn, BTN_CLICK_EVENT, pre_press_cb);
  4.     agile_btn_set_event_cb(&pre_btn, BTN_HOLD_EVENT, pre_hold_cb);
  5.     agile_btn_start(&pre_btn);

  6.     agile_btn_stop(&play_btn);
  7.     agile_btn_init(&play_btn, GET_PIN(A,5), PIN_LOW, PIN_MODE_INPUT_PULLUP);
  8.     agile_btn_set_event_cb(&play_btn, BTN_CLICK_EVENT, pre_press_cb);
  9.     agile_btn_set_event_cb(&play_btn, BTN_HOLD_EVENT, pre_hold_cb);
  10.     agile_btn_start(&play_btn);


  11.     agile_btn_stop(&next_btn);
  12.     agile_btn_init(&next_btn, GET_PIN(A,6), PIN_LOW, PIN_MODE_INPUT_PULLUP);
  13.     agile_btn_set_event_cb(&next_btn, BTN_CLICK_EVENT, pre_press_cb);
  14.     agile_btn_set_event_cb(&next_btn, BTN_HOLD_EVENT, pre_hold_cb);
  15.     agile_btn_start(&next_btn);


  16.     agile_btn_stop(&mode_btn);
  17.     agile_btn_init(&mode_btn, GET_PIN(A,0), PIN_HIGH, PIN_MODE_INPUT_PULLDOWN);
  18.     agile_btn_set_event_cb(&mode_btn, BTN_CLICK_EVENT, pre_press_cb);
  19.     agile_btn_set_event_cb(&mode_btn, BTN_HOLD_EVENT, pre_hold_cb);
  20.     agile_btn_start(&mode_btn);
参考示例例程设置回调





更多回帖

发帖
×
20
完善资料,
赚取积分