下面说下中科蓝汛通过地址去区分左右声道。我们都知道在中科蓝汛的配置列表中有6种声道的选择,如下图:
现在对上述的几种方式进行解释,(PS:下面的顺序就按上图中的顺序)
第一种方式对左右声道不分配的这种制作蓝牙音箱会选择这种。但是耳机时有左右耳的所以这种情况一般情况下是不会去选择的。
第二种方式和第三种方式对声道进行自由分配会导致耳机的声道出现混乱,这两种方式一定是不可取
第四种情况是一个非常好的方式,通过硬件上一个IO的不同来区分左右声道。但是也是有一些不足的地方。后面会说
第五种和第六种方式也是一样的,就是将声道进行写死没有一点的灵活性而且在产线上烧录时还需要两种固件。所以这种方式也不是很好
上面对配置工具中分配左右声道的方式进行了讲解,一般情况下我们使用的也就是第4、5、6这三种方式对声道进行分配。但是呢,这几种方式又有着不足。
不足点:1、通过GPIO口去判断的会浪费硬件资源和增加成本;
2、有些芯片没有多余的IO口进行使用;
3、需要生成两个软件进行烧录,没有灵活性
所以就有另外一种方法出现了,通过烧录的蓝牙地址去判断奇数 L声道 偶数R声道或者反过来。
这种方法纯粹的是软件实现的,不占用硬件资源也不需要生成两个软件,下面就说下怎么修改:
对声道进行分配是在初始化的时候进行的,所以我们只要找到初始化声道的函数就可以了,在该函数中进行修改:
进入该函数之后就可以看到里面进行声道分配处理的函数,所以我们就需要在他们处理之后进行我们通过地址判断的函数。下面就是通过地址判断声道的函数:
到这里代码里面的修改就结束,然后就是配置工具中需要修改下了。
需要以上的这样修改,在每次烧录完一个芯片的时候地址才会加2使得每次烧录的地址都是单或者偶