AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记

文章目录

  • 1. 淘宝上两种开发板,有一种的蓝牙功能不正常
  • 2. 蓝牙音频测试
    • 2.1 《config.h》和《Boombox.setting》两个配置以哪个为准
    • 2.2 codeblocks更换链接库
      • 2.2.1 这样进入build options是错的
      • 2.2.2 build options正确打开方式
    • 2.3.编译工程,下载运行
      • 2.3.1 上电运行
  • 3.源码参考

AB5301A这个MCU在2021年芯片价格最高光时刻,售价是4.2元。对应的资源如下:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第1张图片
可谓性价比非常高,就算去掉主打的蓝牙功能,当作一个普通的MCU,性价比都是很高的。
废话少说,直入正题。

1. 淘宝上两种开发板,有一种的蓝牙功能不正常

我买了两种开发板:
1.绿板:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第2张图片
2.蓝板:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第3张图片

绿板因为价格才36元,一次买了3块,然后根据大佬谷动谷力的教程《基于RT-Thread 中科蓝讯AB32VG1 BLE开发例程讲解》测试了BLE功能,换了2块板都是手机连不上蓝牙,反复折腾都是不行。赶紧在睿赛德科技官方店买了蓝板,一试就行。不过如教程所说,时不时出现 timer stack overflow 的错误,就放弃了rt-thread,转向官方原生的《SDK_AB53XX_V061》。这个SDK的蓝牙音频和BLE功能都可以正常使用,目前为止测试很稳定。

2. 蓝牙音频测试

《SDK_AB53XX_V061》提供了4种开发方案:

1.earphone --耳机方案
2.karaok – 卡拉OK方案
3.LCD – 带点阵LCD显示方案
4.standard – 标准方案

我们当然是从标准方案入手。需要改动的C文件集中在一个《port》的文件夹:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第4张图片
其他的基本可以通过配置文件《config.h》来配置。蓝牙功能测试几乎不用修改源码,只要修改配置文件就可以了。
下面是关于蓝牙部分的配置:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第5张图片

另外还有烧录时的配置文件《app\projects\standard\Output\bin\Settings\Boombox.setting》,详细参考官方文档《AB535X 开发手册(配置说明).pdf》。这里做简单说明。
Boombox.setting是在烧录工具中打开编辑:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第6张图片
打开后:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第7张图片
我们可以看到,《config.h》和《Boombox.setting》很多配置是重复的,不知道以哪个为准。因为我也是刚接触,也没有找代理商咨询,全靠网络公开的资料和测试。

2.1 《config.h》和《Boombox.setting》两个配置以哪个为准

《config.h》文件负责配置编译条件,决定把哪些源码包含进来编译。而程序上电运行时,会将配置内容《Boombox.setting》读入结构体 xcfg_cb,然后在具体功能运行之前判断是否要执行。
下面用一个真实的程序片段来说明:

void bsp_sys_init(void)
{
    if (!xcfg_init(&xcfg_cb, sizeof(xcfg_cb))) {           //从 Boombox.setting 获取配置参数
        printf("xcfg init error\n");
    }
......
#if CHARGE_EN		//	由《config.h》 中的内容决定
    if (xcfg_cb.charge_en) {	//	由《Boombox.setting》 中的内容决定
        charge_init();
    }
#endif // CHARGE_EN
......
}

从第7行知道,首先必须在《config.h》打开宏定义,使能编译条件:

#define CHARGE_EN 1 //是否打开充电功能

这样才可能把第8-10行代码进行编译。
而像上面蓝牙名称的配置,不属于编译条件,此时以《Boombox.setting》为准。其他具体情况,具体分析。

2.2 codeblocks更换链接库

2.2.1 这样进入build options是错的

AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第8张图片

2.2.2 build options正确打开方式

AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第9张图片

2.3.编译工程,下载运行

按照目前网络公开的源码,我做了一些改动:
https://gitee.com/huangweide001/ab32-vg_-sdk_cbp
我的工程中使用了BLE功能,需要把链接库libbtstack.a替换为libbtstack_dm.a。如果仅仅是蓝牙音频,则不需要。详情参考官方文档《AB53XX_BLE开发说明.pdf》。
编译成功后,烧录文件是《app\projects\standard\Output\bin\app.dcf》,下载时选择《Boombox》,如下图:
AB32VG1:SDK_AB53XX_V061(4)蓝牙音频测试笔记_第10张图片

2.3.1 上电运行

如果有插入TF卡,且卡内有mp3文件,将进入sd卡播放模式,播放英文提示“SD card now”,紧接着自动播放mp3。此时,如果要进入蓝牙音频模式,需要KEY_MODE命令。按键和红外都可以。(移植自己的按键板和红外遥控参考文章:AB32VG1:SDK_AB53XX_V061(2)app.cbp工程源码阅读笔记(ADC按键和红外遥控器移植))
如果没有插入TF卡,将进入蓝牙音频模式,播放英文提示“bluetooth now”,等到连接音源。

3.源码参考

SDK_AB53XX_V061源码:
链接:https://pan.baidu.com/s/1TbW_G_JFPUwNt2IdyIUCiA?pwd=1vej
提取码:1vej

你可能感兴趣的:(AB32VG1,音视频,笔记)