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模式的代码如下:

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

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

	<pio> 		
		<pinFriendlyName>SW1</pinFriendlyName> 		
		<pad>52</pad> 	
	</pio> 

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

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

发布了12 篇原创文章 · 获赞 16 · 访问量 8133

猜你喜欢

转载自blog.csdn.net/qq_29225913/article/details/100926215