杰理芯片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"。

修改展示:


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

相关推荐
恒锐丰科技韩生6 分钟前
SS6951A|8.2‑36V 双通道 4A H 桥电机驱动 ETSSOP28 带散热焊盘 工业缝纫机打印机机器人专用
嵌入式硬件·硬件工程
恒锐丰小瑞16 分钟前
率能SS6811H 38V/1.6A/双通道H桥驱动芯片,PWM控制接口与低功耗睡眠模式,用于舞台灯光/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
怀民民民24 分钟前
开篇:基于 Cortex-M7、OpenMV 与双频 GNSS 的智能派件 AGV 设计与实现
单片机·嵌入式硬件·gnss·openmv·智能车
爱吃米粥1 小时前
过流、过压、防反接、防浪涌于一体的输入电路
单片机·嵌入式硬件
江屿风1 小时前
【STM32基础篇】【嵌入式生态问题及历史追溯】流食般投喂
大数据·开发语言·人工智能·笔记·stm32·嵌入式硬件
课件帮1 小时前
PPT动画与数字人讲解如何精准同步?2026年微课制作技术新趋势
人工智能·语音识别
橘色的喵1 小时前
USB MCU的固件烧写工具:从 vendor 命令到逐字节校验
单片机·嵌入式硬件·嵌入式
意法半导体STM322 小时前
【官方原创】STM32CubeMX 6.18.0新版本发布
stm32·单片机·嵌入式硬件·stm32cubemx·cube开发工具
恒锐丰小瑞2 小时前
率能SS8833T 15V/1A/双通道H桥驱动芯片,低静态电流与过温报警输出(FAULT),用于POS打印机/机器人/电池玩具
stm32·单片机·机器人
振南的单片机世界2 小时前
IDLE中断:串口收完一帧数据,硬件自动“吹哨”
arm开发·stm32·单片机·嵌入式硬件