DSP

CSR867x — 使用Sink Configuration Tool配置按键

2019-07-13 21:00发布

 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”,如下图; 3、列标签:User Event,单击之后下拉会有很多事件Message,是不是很熟悉??没错,这些就是在handleUEMessage()中处理的,同时在sink_events.h中定义的UE Message~ 4、列标签:State Mask[hex],单击之后下拉会看到很多状态,这些状态就是程序运行后,可能会处在的某种工作状态,比如可连接、可连接/可发现、拨出电话、测试模式这些都是,可以理解成一个大的状态机~ 5、列标签:Logical Input ID,点开之后会看到0~15,加上VREG/ CHG一共18个逻辑id,所以可以配置18个物理按键~ 那逻辑id跟物理按键是什么关系?它们是怎么转化的呢?看下图~Physical Input Signal可以配置对应的IO口; 6、列标签:Button Timing,点开之后可以看到如图,就是按下按键的时长~ 最后总结一句话~使用Sink Configuration Tool配置按键后,程序的处理过程就是: 在State Mask状态下,当Logical Input ID/ VREG/ CHG对应的物理按键被按下Button Timing时长时,就会发送一个User Event,然后在main.c中会对UE Message进行处理; 至于为什么这样处理?牵涉到哪些代码?就放在下一篇分析吧~