CSR867x — 使用Sink Configuration Tool配置按键

 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 XX  作       者:ZHS(文化人)

 XX  联系方式:文章末尾Chat快问

 XX  版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了

 XX  要说的话:作者水平有限,难免有不足之处,恳请指正!

 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

写在前面:最近新接触一款CSR的soc芯片,就是CSR8670/8675音频系列芯片;这是第一篇,以后会陆续更新;

本文重点讲解如何使用 Sink Configuration Tool 配置按键~

1、首先阅读官方文档《ADK Configuration Tool User Guide》,先对工具有个基本的了解;

2、打开工具,确保SPI连接正常后,找到标题“User Events”,如下图;

CSR867x — 使用Sink Configuration Tool配置按键_第1张图片

3、列标签:User Event,单击之后下拉会有很多事件Message,是不是很熟悉??没错,这些就是在handleUEMessage()中处理的,同时在sink_events.h中定义的UE Message~CSR867x — 使用Sink Configuration Tool配置按键_第2张图片

CSR867x — 使用Sink Configuration Tool配置按键_第3张图片

4、列标签:State Mask[hex],单击之后下拉会看到很多状态,这些状态就是程序运行后,可能会处在的某种工作状态,比如可连接、可连接/可发现、拨出电话、测试模式这些都是,可以理解成一个大的状态机~

CSR867x — 使用Sink Configuration Tool配置按键_第4张图片

5、列标签:Logical Input ID,点开之后会看到0~15,加上VREG/ CHG一共18个逻辑id,所以可以配置18个物理按键~

CSR867x — 使用Sink Configuration Tool配置按键_第5张图片

那逻辑id跟物理按键是什么关系?它们是怎么转化的呢?看下图~Physical Input Signal可以配置对应的IO口;

CSR867x — 使用Sink Configuration Tool配置按键_第6张图片

6、列标签:Button Timing,点开之后可以看到如图,就是按下按键的时长~

CSR867x — 使用Sink Configuration Tool配置按键_第7张图片

最后总结一句话~使用Sink Configuration Tool配置按键后,程序的处理过程就是:

在State Mask状态下,当Logical Input ID/ VREG/ CHG对应的物理按键被按下Button Timing时长时,就会发送一个User Event,然后在main.c中会对UE Message进行处理;

至于为什么这样处理?牵涉到哪些代码?就放在下一篇分析吧~

你可能感兴趣的:(CSR867x_old,CSR867x)