本文仅作为本人自学内容整理,如有错误,请各位大佬指出,谢谢
本文所有内容均以ac696x_demo及music模式为例
1.ADkey配置
大部分配置均在board_ac696x_demo_cfg.h中,各功能也均有注释,其中AD0-9的值会根据不同的外部上拉电阻因而改变,在使用时注意配置
在配置中将使能端口开启,并根据原理图修改引脚及通道即可,如下图所示
此图为本人原理图中ADKEY引脚,图中为PB1脚,故而在配置中将
PORT修改为IO_PORT_PB1 ,CHANNEL修改为AD_CH_PB1
(本人愚钝,暂时不清楚为何通道要这么设置,但尝试过后这么设置可以正常运行)
2.ADkey自定义
在apps\sounds\include\key_event_deal.h中可以找到与按键相关的枚举类型,杰里SDK在最后面为我们预留了额外添加代码的位置,只用在原代码注释后添加即可,如:KEY_TEST
随后进入apps\soundbox\board\br25\board_ac696x_demo\key_table\adkey_table.c中对adkey按键功能进行配置,在此页面中包含了各个模式中ADkey在不同情况下的按键配置,可以将之前添加的枚举KEY_TEST加入到任意可触发的模式下,如图所示
KEY_AD_NUM_MAX的值对应了board中 AD0-9的值
KEY_EVENT_MAX即为不同情况下按键触发函数
我们将之前添加在枚举中的KEY_TEST加入到0R阻值的ADkey单击事件下
具体触发内容移步到apps\soundbox\task_manager\music\music.c中,在这里面找到music_key_event_opr函数,在music模式下adkey所有按键消息都会进入该函数进行处理。
在switch的最后方添加 KEY_TEST 触发事件代码
烧录后通过串口便可得到在ADkey按下后收到 test success 消息