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

news2024/11/22 22:24:37

文章目录

  • 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元。对应的资源如下:
![在这里插入图片描述](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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kafka 报错 - Cannot assign requested address

背景 在华为云服务器上跑了 zookeeper 和 kafka 的 broker,想内外网分流,重点就是做不到从外网去消费,比如用自己的 windows 笔记本去消费。 配置 server.properties 的 listener 为 broker 所在机子的的内网 IP 后,终于能 star…

Scala环境搭建及安装

salca环境搭建 由于scala是基于java来开发的, 编写的java类可以使用javac命令编译成.class文件被JVM加载到内存中执行 ! 那么scala可以通过scalac命令将编写的scala文件编译成.class文件一样被JVM加载到内存中,因此Scala是运行在JVM平台上的,所以安装Scala之前要安装…

【SpringBoot实战专题】「开发实战系列」全方位攻克你的技术盲区之SpringBoot整合众多日志管理系统服务starter-logging

全方位攻克你的技术盲区之SpringBoot整合众多日志管理系统服务starter-logging 前提介绍Spring默认日志文件Spring的日志配置参数logging.levelmaven配置properties文件yaml文件 logging.fileapplication.yml中配置 logging.pathapplication.properties配置application.yml配置…

基于DBACAN的道路轨迹点聚类

目录 前言道路栅格化轨迹聚类参考资料 前言 很多针对道路轨迹的挖掘项目前期都需要对道路进行一段一段的分割成路段,然后对每一个路段来单独进行考察,如设定路段限速标识,超速概率等,如何对道路进行划分,其实是一个很…

华为OD机试真题 JavaScript 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

一、题目描述 有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数和和),求窗口滑动产生的所有窗口和的最大值。 二…

python: read excel

""" Insurance。py edit: geovindu,Geovin Du,涂聚文 date 2023-06-13 保险类 """import sys import osclass Insurance:"""保险类"""def __init__(self, InsuranceName, InsuranceCost, IMonth):&quo…

STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)

使用QUADSPI读写W25Q64 QUADSPI介绍硬件连接双闪存模式禁止双闪存模式使能 QUADSPI命令序列指令阶段地址阶段交替字节阶段空指令周期阶段数据阶段 QUADSPI主要信号接口协议模式单线SPI模式双线SPI模式四线SPI模式 使用QUADSPI操作W25Q64发送命令函数状态轮询函数读ID函数QUADSP…

应用案例 | FG-200:通过Modbus将FF H1设备集成到DCS系统

一 背景 FOUNDATION Fieldbus(FF)协议是一种现代化的数字通信协议,其中FF H1协议在大型的化工、电力、石油等流程工业领域得到了广泛应用。由于FF H1协议具有诸多优势,例如高度可靠性、高速数据传输、强大的诊断能力和灵活的设备…

第4章 总体设计

文章目录 第5章 总体设计5.1 设计过程例题 5.2 设计原理5.2.1 模块化模块化的优势 例题5.2.2 抽象5.2.3 逐步求精求精实际上是细化的过程与抽象的关系 5.2.4 信息隐藏和局部化5.2.5 模块独立模块独立的重要性模块独立的定性标准度量耦合① 无直接耦合② 数据耦合③ 标记耦合④ …

MySQL数据库基础 11

第十一章 数据处理之增删改 1. 插入数据1.1 实际问题1.2 方式1:VALUES的方式添加1.3 方式2:将查询结果插入到表中 2. 更新数据3. 删除数据4. MySQL8新特性:计算列 1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入…

8.1 正弦波振荡电路(2)

四、石英晶体正弦波振荡电路 石英晶体谐振器,简称石英晶体,具有非常稳定的固有频率。对于振荡频率稳定性要求高的电路,应选用石英晶体作选频网络。 1、石英晶体的特点 将二氧化硅( SiO 2 \,\textrm {SiO}_2\, SiO2​&#xff0…

华为OD机试真题 JavaScript 实现【找终点】【2023 B卷 100分】,附详细解题思路

一、题目描述 给定一个正整数数组&#xff0c;设为nums&#xff0c;最大为100个成员&#xff0c;求从第一个成员开始&#xff0c;正好走到数组最后一个成员&#xff0c;所使用的最少步骤数。 要求&#xff1a; 第一步必须从第一元素开始&#xff0c;且1 < 第一步的步长 &…

测试 4 年,从外包 15K 跳槽去字节 38K+12,啃完这份笔记你也可以

粉丝小王转行做测试已经是第4个年头&#xff0c;一直是一个不温不火的小职员&#xff0c;本本分分做着自己的事情&#xff0c;觉得自己的工作已经遇到了瓶颈&#xff0c;一个偶然的机会&#xff0c;获得了一份软件测试全栈知识点学习笔记&#xff0c;通过几个月的学习&#xff…

虚拟机(VMware )部署

一、VMware 概述&#xff1a; VMware是一家提供虚拟化解决方案的领先公司&#xff0c;其产品被广泛应用于企业和个人用户的计算环境中。VMware的虚拟化技术可以将物理计算资源&#xff08;如服务器、存储和网络&#xff09;抽象成虚拟化的资源&#xff0c;从而提供更高的灵活性…

路径规划算法:基于黑猩猩优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于黑猩猩优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于黑猩猩优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法…

MySQL之流程控制,索引

一、条件语句 if 条件语句 delimiter // CREATE PROCEDURE proc_if () BEGINdeclare i int default 0;if i 1 THENSELECT 1;ELSEIF i 2 THENSELECT 2;ELSESELECT 7;END IF;END // delimiter ; 二、循环语句 while循环 delimiter // CREATE PROCEDURE proc_while () BEGI…

测试用例设计背后的底层逻辑你一定不知道

目录 前言 1、万物皆可测 2、用例的本质 3、业务建模 4、其他一些测试法 总结&#xff1a; 前言 测试用例是每位测试人员都绕不开的话题&#xff0c;也是大家习以为常的事情。几乎所有测试相关的公众号、博客、专栏&#xff0c;都会提及测试用例&#xff0c;由此可见它的…

华为OD机试真题 JavaScript 实现【矩阵稀疏扫描】【2023 B卷 100分】,附详细解题思路

一、题目描述 如果矩阵中的许多系数都为零&#xff0c;那么该矩阵就是稀疏的。对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省&#xff0c;并且在许多大的实践中都会出现矩阵稀疏的问题。 给定一个矩阵&#xff0c;现在需要逐行和逐列地扫描矩阵&#xff0c;如果某一…

备战金九银十,互联网大厂最全“Java 面试宝典 +Java 核心知识集”汇总

搬砖也有好几年了&#xff0c;本想在金三银四跳槽来着&#xff0c;结果我想你们应该猜到了&#xff0c;于是计划着下半年跳槽试试&#xff0c;算是提前为金九银十做准备吧&#xff01; 现在着手准备着以防万一自己措手不及&#xff0c;这不&#xff0c;这几天刚整理出炉的两份…