QCC512x QCC302x PIO 按键

sink 工程修改按键只需要在 ADK Configuration Tool ——> User Interface ——> User Events 中增加需要的事件User Events
Earbud 工程需要修改代码,需要修改的部分如下:
1、用 vscode 打开 earbud 工程目录
2、在 apps/applications/earbud 目录下复制一份 x.buttonxml 文件
3、重命名一下,比如我想要修改成3个按键“3_buttons.buttonxml”
buttonsxml
4、按需要修改该文件的内容,例如原来的进入DFU模式的代码如下:


       APP_BUTTON_HELD_DFU 		
       HELD 		
       MFB_BUTTON 		
       12000 	
 
标签 描述
内容都在这里面包含
自定义的消息内容
在“av_headset_ui.c” appUiHandleMessage() 函数中增加 case 来处理
按键按下的操作,支持下列几种
ENTER
RELEASE
HELD
HELD_RELEASE
DOUBLE
按下的按键对应的 PIO
超时的时间,长按超过这时间,则触发
重复的时间,在 HELD 与 ENTER 事件中有效

5、在 apps/applications/earbud/qcc512x_qcc302x/common目录中 复制一份 .pio.buttonxml 文件,并重命名一下。
.pio.buttons
6、修改该文件的内容,格式如下,修改 pin name 对应的 PIO,就是将上面文件的activePinFriendlyName 与实际的 PIO 连系起来。

	 		
		SW1 		
		52 	
	 

7、修改 earbud.x2p 文件,将刚才修改好的文件替换一下
在这里插入图片描述在这里插入图片描述
8、修改 av_headset_ui.c 文件,增加对应的头文件包含,此文件会自动生成,包含即可
在这里插入图片描述
9、在工程属性选项中,修改按键的定义为
在这里插入图片描述
10、保存,重新编译,再 deploy 即可。

默认工程中已经有部分功能写好了的,可以根据自己需要来配置IO口,比如音量加减、上下曲以及一些在sink工程中的User Event 事件。一些自己开发的逻辑功能,需要在 “av_headset_ui.c” 中的 “appUiHandleMessage() ” 中增加 一个case 来处理。
当然,不仅是作为按键使用,同样可以将一些外部的 IC 中断引脚,作为按键来输入然后进case进行处理相关的逻辑功能。

你可能感兴趣的:(蓝牙耳机(QCC/CSR))