杰理芯片SDK-更改芯片产品蓝牙名功能

前言

现在为止也开发了许多杰理TWS蓝牙耳机项目SDK的案子,在调试案子时不断的向前辈们学习到了很多关于蓝牙TWS耳机专业的知识。想在这里做一个学习汇总,方便各位同行和对杰理芯片SDK感兴趣的小伙伴们学习;

本章详细讲解杰理SDK开发中更改蓝牙名功能

在我们进行杰理蓝牙耳机、蓝牙音响等蓝牙产品软件开发时,往往会遇到客户要求改不同的蓝牙名使其在客户端进行清晰的连接使用。在使用杰理SDK软件开发时,可以使用配置工具方便的进行更改。在本章详细演示,并深入代码中进行关联;因此本人发现出有两种方法可以更改产品蓝牙名;

方式1:使用杰理SDK中携带的配置工具进行更改;此方法非常快速好用

方式2:在杰理SDK代码中进行更改;

方法1:使用杰理SDK中携带的配置工具进行更改------演示教程

步骤1:我们打开一个SDK软件包,文件地址:"D:\ac696n_soundbox_sdk_v1.7.0\SDK\cpu\br25\tools\soundbox\standard\ac696x配置入口.jlxproj" 如图所示:

步骤2:在弹出的选项卡中选择配置工具;如图所示

步骤3:在配置工具中点击蓝牙配置,在蓝牙配置选项卡中的经典蓝牙选项中修改自己想要的蓝牙名,最后点击保存bin文件;

步骤4:修改完蓝牙名后,需要对SDK代码进行编译或者点击"download.bat"批处理文件进行编译;这样我们将升级文件升级到蓝牙产品中就可以观察到啦!如图所示


方法2:在杰理SDK代码中进行更改

这一方法可以使得我们更加生动的了解杰理SDK代码是如何于配置工具进行关联的;

步骤1:首先打开"user_cfg.c"或者"user_cfg_new.c"文件中不同杰理芯片SDK的文件命名有点点不同,一般都是user_cfg开头的;如图所示我们可以观察到经典蓝牙、蓝牙MAC地址、发射功率等一些重要参数;

步骤2:在文件中查找bt_get_local_name()函数。这个函数可以是我们在SDK内部进行蓝牙名的更改;

步骤3:在函数中修改代码如图所示;

代码讲解:

const char *bt_get_local_name() //蓝牙名修改点

{

//return (const char *)(bt_cfg.edr_name); //原本函数代码

const u8 *mac_addr; // 声明无符号8位整数指针(指向MAC地址)

mac_addr = bt_get_mac_addr(); // 获取设备MAC地址(小端序存储)

sprintf(bt_cfg.edr_name, "JL-AC79XX-%02X%02X", mac_addr4, mac_addr5);

//将格式化数据写入bt_cfg.edr_name字符数组。

return (const char *)(bt_cfg.edr_name);

}

知识小点:

sprintf函数 是 C 语言中一个非常强大且常用的函数,它的全称是 string print。简单来说,它的作用就是:将格式化的数据"打印"到一个字符串中。你可以把它想象成 printf,只不过 printf 是把内容输出到控制台(屏幕),而 sprintf 是把内容输出到你指定的一个字符数组(字符串)里。

sprintf函数原型:

#include <stdio.h>

int sprintf(char *str, const char *format, ...);

1、str: 这是一个指向字符数组的指针,sprintf 会把生成的字符串存储到这个数组中。

2、format: 这是一个格式化字符串,和 printf 中使用的格式化字符串完全一样(例如如"%d"、"%f"、"%s" 等)。

3、...: 这表示可变参数列表,对应于 format 字符串中的占位符。

4、返回值: 如果成功,返回写入到 str 中的字符总数(不包括自动添加在字符串末尾的 \0);如果失败,返回一个负数。

如果后面没有要填的变量,直接不传就行,sprintf 照样能用;简单用法:只复制原样字符串

示例:

char buf100;

sprintf(buf, "hello world");

结果:buf 里就是 "hello world"。

修改展示:


制作不易!喜欢的小伙伴给个小赞赞!喜欢我的小伙伴点个关注!有不懂的地方和需要的资源随时问我哟!

相关推荐
QiLinkOS2 小时前
QiLinkOS报告:行业风险导航系列《中国技术大败局》新能源汽车篇(3)
物联网·智能制造·dna双螺旋归因模型·qilinkos报告·技术专利避坑指南·专利分析·qilink
2501_913981782 小时前
物联网智慧安防通信方案解析:NB-IoT、LoRa与5G技术在安防场景中的应用
物联网·5g
蒙塔基的钢蛋儿2 小时前
记一次 STM32H723 硬件 Bug 排查:写个 ETH 寄存器,SDRAM 数据飞了
stm32·嵌入式硬件·bug
熊猫_豆豆3 小时前
STM32F103R6 PROTEUS9.0 FREERTOS实现双任务流水灯
stm32·单片机·嵌入式硬件
csg11074 小时前
电路板抗干扰:电容、电感和弧线布线的应用
单片机·嵌入式硬件·物联网·自动化
piaoyiren4 小时前
普中A6 静态数码管显示 数字
单片机·嵌入式·普中a6
kiros_wang4 小时前
ExploreYC 新手快速入门与实战指南
大数据·人工智能·物联网
Olivia051405144 小时前
共模电感在DC-DC变换器中的自谐振频率(SRF)对EMI滤波性能的影响
单片机·嵌入式硬件
Yunhoa5 小时前
51单片机(1)
单片机·嵌入式硬件·51单片机
茯苓gao7 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信