自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 BES平台系统基础知识

Ⅰ、死机类型:Ⅱ、Map表重要信息:Ⅲ、Lst表重要信息:Ⅳ、ARM基础知识:

2026-02-12 17:40:11 807

原创 vscode ssh 堡垒机拉取代码+编译需要注意什么事项

摘要:本文介绍了软件开发中的三个关键环境:非OE空间(开发环境)、OE空间(内网测试环境)和堡垒机。非OE空间是开放的开发沙箱,允许自由访问网络和宽松权限;OE空间是受限的内网环境,用于集成测试和预发布;堡垒机则是访问生产环境的安全跳板机,严格管控权限并记录操作。三者形成典型工作流:开发在非OE空间完成,测试在OE空间进行,最终通过堡垒机访问生产环境。文章还强调了环境间的数据隔离要求,并提供了环境特性对比和典型工作流程图。

2025-11-26 22:13:03 781

原创 关于蓝牙SPP配置的详细过程,之前的有所缺少细节

摘要:SPP蓝牙串口协议建立过程涉及多层协议栈协同工作。从底层开始,依次建立ACL物理连接(HCI)、L2CAP信令通道(CID 0x0001),通过SDP服务发现(UUID 0x1101)获取RFCOMM通道号。随后建立面向RFCOMM的L2CAP通道(PSM 0x0003),完成L2CAP参数协商后,建立RFCOMM多路复用控制通道(DLCI 0)并进行参数协商。最终通过目标DLCI(2*服务器通道号)建立数据通道,完成SPP通信准备。整个过程涉及HCI连接句柄、L2CAP动态CID分配、RFCOMM通

2025-10-24 18:21:26 647

原创 TWS耳机中关于经典蓝牙和BLE的一些补充

本文通过类比方式解析经典蓝牙与低功耗蓝牙(BLE)的核心工作原理。经典蓝牙采用分层协议栈模型,如多条专用车道并行传输不同数据(A2DP音频、HFP通话等),通过ACL链路建立基础连接,再构建L2CAP/RFCOMM通道实现虚拟串口功能。而BLE采用GATT模型,以结构化服务/特征值数据库为核心,支持高效的事件通知机制,通过按需访问和订阅模式实现超低功耗。两者对比显示:经典蓝牙适合持续数据流传输(如音频),而BLE更适配间歇性小数据量场景(如传感器数据),这正是现代TWS耳机选择BLE传输辅助数据的关键原因。

2025-10-15 15:24:45 1456

原创 BES——SKD中代码UX_app_protocol_manager中主要流程解析

本文介绍了一个蓝牙协议管理模块,主要功能包括:1)初始化蓝牙通信协议(SPP和GATT);2)管理连接状态并提供数据发送接口;3)处理设备信息和状态通知;4)支持OTA固件升级。该模块通过统一接口封装底层协议细节,提供连接状态检查、数据发送(优先GATT后SPP)、设备信息格式化等功能,并支持电池状态、降噪模式等实时通知。其采用分层设计,为上层应用简化蓝牙通信流程,提高开发效率。典型应用场景包括设备配对、数据传输和状态同步等。

2025-09-30 15:41:43 912

原创 BES——SKD中代码UX_app_spp_client中主要流程解析

该文档详细介绍了SPP(串口配置文件)客户端实现方案,包含核心数据结构、功能模块和典型应用场景。主要实现SPP服务初始化、数据收发、连接管理和事件处理功能,支持两种初始化模式:标准TOTA SPP和自定义SPP服务。关键数据结构包括通道管理结构spp_channel_info_t和客户端配置结构spp_client_config_t,支持多设备连接(最多2个通道)。文档还分析了SPP与GATT服务的差异,指出SPP适用于Android平台的大数据量传输场景,如固件OTA、音效配置等。实现上包含SDP服务注册

2025-09-29 17:26:33 1290

原创 BES——SKD中代码UX_app_gatt_service中主要流程解析

本文介绍了蓝牙GATT服务的核心实现,主要包含服务注册、数据收发和连接管理功能。通过定义GATT属性表(包含服务UUID、Rx/Tx特征值及描述符)实现双向通信,其中Rx支持读写,Tx支持通知。系统采用4通道连接管理结构,通过事件回调处理连接状态变化和数据收发。特别设计了TWS同步机制,主耳处理BLE连接后同步数据给从耳。优化方案包括iOS专用的CCCD状态检测、加密写入和固定地址设计,确保连接稳定性和安全性。典型应用场景涵盖设备配对、状态监控和OTA升级等,完整实现了符合BLE标准的GATT服务架构。

2025-09-29 11:33:18 1244

原创 BES——SKD中代码UX_app_ble_adv中主要流程解析

该文档详细介绍了BLE广播模块(ux_app_ble_adv)的实现方案,核心功能包括广播数据准备、参数配置和广播控制。关键设计包括:1)使用31字节限制的广播数据结构,包含Flags、TxPower、ServiceUUID等字段;2)采用固定地址策略优化iOS兼容性;3)保持对BLE4.x的向后兼容。模块通过ble_adv_config_t结构体管理广播参数,提供数据组装和长度检查功能,确保广播数据符合规范。该方案主要应用于iOS设备发现、配对接入等场景,通过优化广播参数确保iOS设备的稳定连接。

2025-09-28 11:44:44 1269

原创 BES——SKD中代码UX_tone中主要流程解析

本文介绍了耳机提示音管理系统的核心功能与实现机制。系统通过ux_tone.c和ux_tone.h文件管理各类提示音播放逻辑,包含50多种提示音ID(如开关机、来电、连接/断开等)和16级音量控制。关键功能包括:1)低电量提示的佩戴延迟播放机制;2)TWS双耳同步播放控制;3)连接状态智能判断与提示音触发;4)音量调节时的智能反馈;5)ANC状态提示管理。系统采用状态机设计,通过定时器实现延迟播放,并建立模块间协作机制处理蓝牙事件、传感器输入等,确保提示音播放的准确性和用户体验。

2025-09-28 10:17:37 1006

原创 BES——SKD中代码UX_bt中主要流程解析

该蓝牙模块核心功能包括:1.事件状态机管理,处理开盒/关盒/配对等场景的复杂状态转移;2.TWS主从角色智能切换,基于盒内状态/电量/RSSI等多维度条件判断;3.自动关机检测,在未佩戴+未充电+未连接时触发倒计时关机;4.支持双连接模式和高解析音频编码配置。关键特性包括全局事件状态机、多条件角色切换决策机制(优先级:盒状态>电量>信号强度)以及严格的自动关机判定逻辑。模块从传感器层接收事件,通过主状态机协调,最终调用底层蓝牙协议栈实现功能。

2025-09-26 16:56:43 797

原创 BES——SKD中主控代码UX_main中主要流程解析

本文介绍了耳机系统的核心模块设计,重点关注ux_main.c/h文件功能实现。系统采用状态机架构,通过EAR_STATUS_T结构体管理双耳状态(盒内/外、佩戴/未佩戴等),由ux_msg_handle统一分发蓝牙、电源、传感器等事件。关键功能包括:电源管理(支持多种关机场景)、TWS状态同步机制(通过ux_ear_state_tws_send_handle实现双耳通信)、初始化流程(配置左右耳标识、注册回调等)。系统通过30ms定时任务维护状态同步,并支持运输模式等特殊场景处理。

2025-09-26 15:58:26 1144

原创 关于音频编码格式的介绍---补充耳机入门了解的知识点

音频格式主要分为无损和有损两大类。无损格式(如WAV、FLAC、APE)完整保留原始音质但文件较大,适合音乐收藏;有损格式(如MP3、AAC、Opus)通过压缩减小体积但音质有损,适合流媒体和日常使用。选择时需权衡音质、文件大小和兼容性:专业音频用WAV,音乐存档选FLAC,流媒体推荐AAC,蓝牙音乐优先LDAC/AAC。特殊场景如蓝牙通话使用mSBC,网络交互适用Opus。部分厂商(如杰理芯片)还使用私有编码格式优化性能。

2025-09-04 16:23:03 1484

原创 TWS蓝牙耳机入门,必须了解的专有词汇,后续更变方便进阶!!

TWS(真无线立体声)是一种实现耳机完全无线分离的蓝牙技术。其核心技术包括: A2DP协议:用于高质量音乐传输,支持多种音频编码(SBC/AAC/aptX/LDAC),音质取决于设备支持的最高编码格式 HFP/HSP协议:专用于通话场景,提供双向语音传输 AVRCP协议:实现远程播放控制 私有协议:如荣耀RCSP和谷歌GFPS,提供快速配对、电量显示等生态功能 不同场景下设备会自动切换协议:音乐播放使用A2DP,通话切换至HFP,实现最优的音频体验。

2025-09-04 15:40:58 9163

原创 手表--带屏幕音响-时间制切换12/24小时

文章摘要:本文介绍了将24小时制转换为12小时制的方法,关键步骤包括:1) 对超过12的小时数减12处理;2) 使用枚举定义AM/PM二选一状态;3) 建立模式标志位区分12/24小时制;4) 处理手机传输数据;5) 在24小时制时隐藏AM/PM显示;6) 通过定时刷新处理12小时制下AM/PM的自动切换(如12→1时AM变PM)。特别提醒若未使用数据源需通过定时器实现自动刷新功能。

2025-08-30 17:59:30 557

原创 杰理--区分本地音乐列表播放歌曲时播哪些歌曲

摘要:为解决音频文件混杂导致歌曲和白噪声误播问题,作者采用前缀区分法。通过为白噪声文件统一添加"AZ00"前缀,使用strncmp函数进行文件名比对,实现在不同播放模式下自动筛选目标文件。本地模式跳过带前缀文件,白噪声模式仅播放带前缀文件。同时讨论了strncmp的安全使用方式,建议比较字符串时取较小长度值以避免潜在问题。该系统通过g_music_player_file_flag标志位切换不同播放模式,有效实现了音乐分类管理。(149字)

2025-08-28 11:56:27 627

原创 杰理-手表-音响连接蓝牙设备传输电量问题

本文介绍了设备电量显示功能的设置方法:1)默认采用10格百分比显示,可通过软件调整为更精确的显示;2)支持改写功能,最高可设置为100级精度;3)包含电量传输与更新时间设置;4)蓝牙连接时显示电量状态,未传输则不显示。对于带耳机的手表设备,还支持耳机电量同步显示功能。

2025-08-26 10:07:51 506

原创 杰里手表-在开机首次设置语言

当系统设置或开机语言出现问题时,可以先执行命令select_strfile(0)重置语言设置,再重新进行配置。这一操作能有效解决因语言设置错误导致的系统问题。

2025-08-20 16:54:06 390

原创 杰理--BLE的适配耳机处理

本文摘要介绍了蓝牙耳机开发中的关键功能实现:1)通过UUID属性结构体处理客户提供的耳机读写属性;2)实现数据接收后的处理函数;3)封装数据发送接口;4)提供数据发送总控接口;5)支持打开扫描功能;6)实现按指定耳机名称扫描的功能。这些功能模块涵盖了从属性配置、数据收发到设备扫描的完整开发流程。

2025-08-16 09:37:45 802

原创 杰理手表-增加提示音-提示音音量调整--使用提示音

本文介绍了音频提示音的配置方法:1.通过配置工具添加提示音文件并保存;2.在代码中配置提示音路径和名称,包括在相关头文件和源文件中添加枚举定义和数组配置;3.特殊正弦波提示音的配置方法,无需音频文件但需设置频率参数;4.提示音音量调节方式,支持16级音量控制,可通过ui_set_voice()函数实现渐变效果(如闹铃)。配置完成后可直接调用tone_play_by_path()播放提示音。

2025-08-12 20:49:02 764

原创 本章节讲-非常常用的功能-关于音乐播放方面的功能-播放进度-模式切换-播放方式-(杰理举例)

本文档介绍了音乐播放功能的三个核心模块:1.播放进度功能,通过特定接口获取本地音乐的播放时长和进度,需配合UI控件实现时间显示;2.模式切换功能,支持本地和蓝牙两种播放模式,但蓝牙模式下部分功能受限;3.播放方式控制,提供随机播放、单曲循环等模式切换。文中特别说明当前部分功能仅适用于本地音乐播放,蓝牙模式下需依赖手机APP数据接口,建议开发者根据实际需求进行功能扩展。

2025-08-12 12:07:29 838

原创 本文章分享一个本地录音和实时传输录音给app的功能(杰理)

摘要:本文介绍了基于杰理手表SDK的音频功能开发流程。首先通过万用表检测喇叭和麦克风硬件状态,确保设备正常。其次利用SDK自带功能实现本地录音存储,需注意文件格式(MP3/ASPCM)与TCFG_UI_ENABLE_RECORD宏配置。最后重点说明实时音频传输功能的实现:需移植demo并修改cmd_recieve.c、clock_manager.c等文件,添加必要的事件和时钟配置,最终通过UI按钮控制20秒测试传输。开发过程中需注意不同SDK版本的兼容性调整。

2025-08-09 17:00:22 923

原创 杰理--分享一个收音机功能--FM移植调试和开发注意!!

本文介绍了在杰理SDK中移植外挂FM芯片RDA5807的实现过程。主要修改内容包括:在board_701n_demo_cfg.h和board_701n_demo.c中添加I2C配置,新增FM相关头文件定义,并在app_main.c中增加FM任务线程。调试时需注意I2C组别分配问题,避免与原触摸功能冲突。重点调试了RDA5807.c的初始化、自动搜台功能,并解决了模式切换时UI卡死的问题。最后介绍了几个常用FM接口函数,包括获取电台总数、当前台号、频点值及搜台状态等。移植过程需特别注意硬件配置与代码的匹配性。

2025-08-07 20:46:52 311

原创 看门狗死机问题---杰理举例

摘要:看门狗触发主要由于未按时喂狗、喂狗间隔不当或配置错误。常见触发场景包括程序跑飞、死循环、阻塞延迟及低功耗模式未处理WDT。硬件行为通常是系统复位或触发中断。调试建议包括检查复位标志、日志记录喂狗时间戳。设计规范要求喂狗位置合理、超时时间设置为执行周期的2-3倍,并避免在中断中喂狗。常见误区包括喂狗过于频繁、认为WDT能修复所有故障等。实际开发中可通过日志定位卡死位置,针对性解决看门狗超时问题。(149字)

2025-08-06 12:07:24 1714

原创 杰里7012-在线调EQ配置

本文介绍了7012音箱EQ调试的具体操作步骤:1)通过代码配置开启EQ总功能和音箱在线调试;2)使用Win11笔记本连接设备,在蓝牙设置中找到SPP串口;3)打开调试应用界面,选择配置选项;4)进入MusicEQ调试界面完成参数调整;5)调试完成后保存修改后的eq_cfg_hw.bin文件供后续软件集成使用。文章指出该流程适用于类似设备的调试工作。

2025-08-05 11:24:20 519

原创 分享一款超级炫酷的相册功能,学会了可以应用到很多地方,本文章讲开发

本文分享了相册功能开发过程中的四个关键问题及解决方案:1)照片数量处理,需在初始化时获取数量并做屏蔽处理;2)外部设备传输照片时的实时刷新机制,使用定时器同步更新;3)预览图重复显示问题,根源是解码失败需复位处理;4)幻灯片播放功能,建议区分定时器实现,需处理预览图位置判断。这些经验对类似功能开发具有参考价值。

2025-08-04 19:58:56 2206

原创 杰理-设置中断-关机状态下霍尔触发开机

本文介绍了霍尔传感器在701芯片上的配置流程。首先确定霍尔脚位连接(如PA0),配置中断使能和上升沿触发。初始化时需注意GPIO方向设为输入模式,并通过gpio_set_die选择数字功能。在board_init()中调用初始化,并添加gpio保护(soff_gpio_protect)确保软关机时中断正常触发。同时配置power_wakeup_index_enable使中断能唤醒系统。最后补充了开机状态下的中断配置方法,需与关机配置的中断索引(如case 4)保持一致。

2025-08-02 17:19:03 421

原创 杰理-功放自动mute配置,解决功耗问题,以及一些需要注意问题

本文介绍了功放芯片mute脚位的配置方法,通过宏定义PA_EN和PA_UN来控制功放输出。关键点包括:1)配置时需要打开AUTOMUTE宏;2)初始化时需默认关闭状态以降低功耗;3)软关机时需执行PA_UN操作。作者特别指出一个异常现象:仅配置PA_UN可能导致关机后功耗异常升高,最终发现需要额外配置不上拉、下拉和方向输入才能解决。该问题可能与某些外部电路将电平拉高有关,建议遇到类似问题的开发者参考此解决方案。

2025-08-02 16:28:22 785 1

原创 杰理sdk-教你写入vm和读vm

然后就可以在需要的时候写入vm,我这里语言实际也是用阿拉伯数字叠加上去的,这里的case写的比较屎山,不用管不是我们这一章的重点,ui_language_get()返回的是具体值,是我们前面设定的语言,直接在设定后把语言写入vm。正常一些功能和设置,在我们重新上电后就会丢失,但是这个时候就可以写入vm,在重新上电或者用到的时候我们先读取vm的信息,就不会在断电后丢失信息,在我们恢复出厂化清空的时候再清除!这两个是杰理内置的函数,具体要看你的sdk用的是哪两个接口函数!这两个函数是重点的读和写。

2025-08-01 14:42:32 351

原创 杰理sdk-音响/手表没办法连接电脑问题解答

摘要:该宏会影响电脑连接功能,但其中还包含其他需要激活ui_action_music宏的内容。需注意宏的嵌套结构,在调试连接问题时要同时检查内部封装的其他宏功能是否正常触发。建议先分析宏的层级关系,再分别处理连接功能和ui_action_music的调用问题。

2025-08-01 12:13:26 246

原创 分享一款超级炫酷的相册功能,学会了可以应用到很多地方,本文章讲demo移植

该文档所有文件均为免费,可在评论区获取demo是杰里开放功能,但是有不完善的地方,我分享这版本或许也是。大家在基础上开发玩出很多花样!!

2025-08-01 10:04:40 1025

原创 杰理-耳机音量挡位,以及音量大小调节问题

手表和耳机的音量分别调节和影响到音量的地方,以及挡位调节问题。

2025-07-30 12:23:43 270

原创 超简单的时间设置功能,快来学习,前期解决没有传输信息的尴尬,为后期接收时间信息做铺垫

获取当前时间初始化控件 上划加加 下滑减减上一天和下一天 上一月和下一月存在跨月和跨年的情况 平年和闰年 大月和小月的天数不一样需要用逻辑判断区分开来

2025-07-28 18:12:51 598 1

原创 杰理-SDK-歌词传输字库显示出现乱码花屏问题

最主要是把文字识别显示防线的那部分去掉,对特定自右向左的字体也是没有影响的。直接修改官方底层的文件ui_platform.c。但是偶然出现过某些歌词出现左移动显示不全问题。这里修改比较乱的,需要完整文件可以评论区索要。其中最好用是这个,可以疯狂刷新不卡,歌词传输接口很多个都可以用。

2025-07-26 17:28:51 243

原创 分享一款超炫酷的-弧形横向列表菜单-非常通用,学会可以解决大部分固件菜单问题

勾股定理。

2025-07-26 11:10:51 1737

原创 杰理-获取手机的时间(ios和安卓)

此处要注意的是!!!

2025-07-25 16:04:21 1075

原创 杰理-获取频谱能量做音乐律动-注意事项

因为我这里是直接外部调用的,所以直接用全局变量拿走,比较简单粗暴,有技术的同学可以不需要这样做。这个打印时看频谱高低的,有需要可以打开。数据会实时变化,新增就是实时刷新显示就行。这部分因人而异,想怎么做都行,看自己想法。这里我就分享我的比较简单的显示。注意:这里有一个需要注意的问题,这个问题花了我很多的时间。我这个因为硬件,必须要选择左右差分,才能发挥音响的特性,但是当我使用左右差分的时候,获取频谱得到的值总是0,获取不到的,但是改成其他形式就是可以,因为里面走的代码不一样,估计是左右差分不支持。

2025-07-24 15:36:51 486

原创 彩屏仓-仓传EQ参数给耳机

发送给耳机的函数根据自己实际情况定义。

2025-07-23 12:13:47 105

原创 杰理-耳机EQ叠加处理

设置EQ叠加。

2025-07-23 11:56:05 168

原创 杰里701n-增加-io按键-与按键事件

3.针对每个按键写入他的事件,这里默认有多种模式下的按键事件。5.按键时长判断可以在这里设定,记得长按时一定长过hold的。4.在对应case下写对应事件。2.配置每个按键对应的按键值。1.在板极增加按键的引脚。对应case别忘了定义。

2025-07-22 20:26:59 223

原创 往SD卡写一个文件 或者添加一个文件夹

@param mode 打开模式(只读("r"),写("w"),可创建("w+"))所用函数介绍,具体看自己sdk里面的函数。此处用的的是杰里的skd函数。* @return 返回获得得文件句柄。* @param path 文件路径。* @brief 打开文件。

2025-07-22 10:11:56 140

杰理demo-相册开发功能展示

该相册功能在杰里demo上开发,有些落后skd可能不带,我在主页文章会教大家加入这个demo的

2025-07-31

超简单的时间设置功能,快来学习,前期解决没有传输信息的尴尬,为后期接收时间信息做铺垫

主要代码整合-使用配合ui为杰理的工具

2025-07-28

杰理-SDK-歌词传输字库显示出现乱码花屏问题

底层文本显示文件

2025-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除