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


AB5301A这个MCU在2021年芯片价格最高光时刻,售价是4.2元。对应的资源如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/f8e203af2c1f4c929bd9562ba09fbb6d.png
可谓性价比非常高,就算去掉主打的蓝牙功能,当作一个普通的MCU,性价比都是很高的。
废话少说,直入正题。

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

我买了两种开发板:
1.绿板:
在这里插入图片描述
2.蓝板:
在这里插入图片描述

绿板因为价格才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》的文件夹:
在这里插入图片描述
其他的基本可以通过配置文件《config.h》来配置。蓝牙功能测试几乎不用修改源码,只要修改配置文件就可以了。
下面是关于蓝牙部分的配置:
在这里插入图片描述

另外还有烧录时的配置文件《app\projects\standard\Output\bin\Settings\Boombox.setting》,详细参考官方文档《AB535X 开发手册(配置说明).pdf》。这里做简单说明。
Boombox.setting是在烧录工具中打开编辑:
在这里插入图片描述
打开后:
在这里插入图片描述
我们可以看到,《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是错的

在这里插入图片描述

2.2.2 build options正确打开方式

在这里插入图片描述

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》,如下图:
在这里插入图片描述

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值