为了调试CSR8610调通,把自己折腾的简直怀疑人生,花费了两个星期,总算是调好了,所以来唠叨两句。
首先先列举一下csr官方的两个工具,一个config tool,编辑自己的配置文件,一个ps tool,烧录工具。
利用csr8610实现的功能比较简单,因为博主比较渣,所以尽管是简单的东西,还是折腾的够呛;接下来说说
调试的时候遇到的一些bug,首先是得到蓝牙的连接状态,可以通过读取led事件,得到连接状态,虽然
8610固件内部会自动向我们配置的io口输出状态,配置io利用
config tool即可,
后来发现这几个状态都不是连接状态,想从按键事件事件中得到也不可行。从led得到连接状态的具体配置参看如下:
LEDs state:因为我只想得到连接状态,所以我把里面的所有项全都移除了,不移除是否会有影响还需验证。
LEDs event:
LEDs filter:
后面的LED 0,可以配置成其它项,只要程序上相对应即可。
有几点需要注意一下
如果使用的8610上的io大于12,那么就需要通过config tool工具map成gpio
csr8610默认会输出一些状态,io口也可以随意配置,不过这是要注意io口输出的电平,因为8610中有些io口默认输出的电平为1.8V,当然也可以改变硬件电路来使输出电平达到3.3V,相应功耗也会变高。
还有一点就是注意io口的相互影响,这个主要事配置文件要配置正确,之前调试的时候就遇到过这种情况,配置文件没有配置正确,通过控制io电平使8610从连接状态进入配对状态时,8610对指令不响应。出现这种情况的原因,可能是由于我主控芯片上多个io口和8610相连接,但是实际用到的控制io没有那么多,而且也没有通过config tool工具对这些io进行配置,从而导致io口相互影响,指令失效的问题。