蓝牙开发
未读AC7006杰理按键梳理按键的基本配置123456u8 key_table[KEY_NUM_MAX][KEY_EVENT_MAX] = { // SHORT LONG HOLD UP DOUBLE {KEY_MUSIC_PP, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL}, //KEY_0 {KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL}, //KEY_1 {KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL}, //KEY_2};
问题一:如果配置了ADkey(三个按键)、IOkey(三个按键)、THkey(两个按键),那么在 ...
AC7006-XH51功能分析相对于BT-360
配置了NTC,采集AD值判断温度,需配置IO口和AD通道(板级配置不是demo,没有配置NTC)
该XH51为耳包,有SD卡功能,无TWS,板级配置不一样
使用ADkey,配置按键AD值
常驻音量增强模式 DACVDD_LDO_2_50V,(关于 LDO,它实际上是 “Low Dropout” 的缩写,是一种电源管理器件,称为低压差线性稳压器。LDO稳压器主要用于将输入电压调节到一个稳定的输出电压,并且即使输入电压非常接近输出电压也能正常工作。)
升级擦除VM(flash)
app_config.h中做了很多功能的控制宏
新增出厂设置的UI
\apps\earphone\music\sd_music.c SD卡音乐模式下按键的配置
出厂设置全流程
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 ...
蓝牙开发
未读杰理内置触摸调试基本原理低功耗内置触摸检测模块,简称lp_ctmu模块,是利用检测人体分布电容对触摸按键电容的影响,通过检测该电容变化,达到按键识别的功能
算法指标在硬件算法上,存在三个相关阈值配置,cfg0、cfg1、cfg2
AC7006-BT360功能总结按键触发流程分析以下展示的表格为默认按键配置
SHORT
LONG
HOLD
UP
DOUBLE
TRIPLE
KEY_MUSIC_PP
KEY_POWEROFF
KEY_POWEROFF_HOLD
KEY_NULL
KEY_CALL_LAST_NO
KEY_LOW_LANTECY
长按按键触发流程为:LONG > HOLD > …….. > HOLD > UP
一般前面的三项是不改的,有不同的功能直接在相应的CASE中修改
开关机时间的设定
开机时间(以ADkey为例)
123// \apps\earphone\app_main.c// 代码行数168if (delay_10ms_cnt > 200) {
如果是ADkey开机会发现不管delay_10ms_cnt配置多少,轻按一下开机键会就触发延迟开机,延迟时间为delay_10ms_cnt
123456789101112131415// \apps\earphone\board\br36\board_ac700n_demo.c// 代码行数 ...
AC7006-中英文提示音切换梳理通用的提示音使用流程一般都是调用这个方法 int tone_play_index(u8 index, u8 preemption)
通过索引index去确定播放哪个提示音,但index是一个数值,调用的时候不直观,因此建立一个枚举数组去替代
以下用一个例子概括
12345678910111213141516171819// 宏定义提示音的逻辑位置,需要使用配置工具去加入提示音,提示音的文件名与这里一一对应#define TONE_NUM_0 SDFILE_RES_ROOT_PATH"tone/0.*"#define TONE_NUM_1 SDFILE_RES_ROOT_PATH"tone/1.*"#define TONE_NUM_2 SDFILE_RES_ROOT_PATH"tone/2.*"// 定义枚举enum { IDEX_TONE_NUM_0, IDEX_TONE_NUM_1, IDEX_TONE_NUM_2,}// 真 ...
C语言
未读extern基本使用作用:多个文件之间共享一个变量
方法一:12345678910// fileA.cint sharedVariable = 10; // 变量的定义与初始化// fileB.cextern int sharedVariable; // 变量的外部声明void someFunction() { // 现在可以访问 sharedVariable 变量了 sharedVariable = 20;}
方法二:使用头文件
需要注意的是,确保只在一个地方定义变量,否则会导致链接错误,因为链接器会遇到重复定义的问题。
123456789101112131415// shared.h#ifndef SHARED_H#define SHARED_Hextern int sharedVariable;#endif// fileA.c#include "shared.h"int sharedVariable = 10;// fileB.c#include "shared.h"void someFunction() ...
AC7006-BT360功能总结按键触发流程分析以下展示的表格为默认按键配置
SHORT
LONG
HOLD
UP
DOUBLE
TRIPLE
KEY_MUSIC_PP
KEY_POWEROFF
KEY_POWEROFF_HOLD
KEY_NULL
KEY_CALL_LAST_NO
KEY_LOW_LANTECY
长按按键触发流程为:LONG > HOLD > …….. > HOLD > UP
一般前面的三项是不改的,有不同的功能直接在相应的CASE中修改
开关机时间的设定
开机时间(以ADkey为例)
123// \apps\earphone\app_main.c// 代码行数168if (delay_10ms_cnt > 200) {
如果是ADkey开机会发现不管delay_10ms_cnt配置多少,轻按一下开机键会就触发延迟开机,延迟时间为delay_10ms_cnt
1234567891011121314// \apps\earphone\board\br36\board_ac700n_demo.c// 代码行数63 ...
AC7006-HX51功能分析相对于BT-360
配置了NTC,采集AD值判断温度,需配置IO口和AD通道(板级配置不是demo,没有配置NTC)
该XH51为耳包,有SD卡功能,无TWS,板级配置不一样
使用ADkey,配置按键AD值
常驻音量增强模式 DACVDD_LDO_2_50V,(关于 LDO,它实际上是 “Low Dropout” 的缩写,是一种电源管理器件,称为低压差线性稳压器。LDO稳压器主要用于将输入电压调节到一个稳定的输出电压,并且即使输入电压非常接近输出电压也能正常工作。)
升级擦除VM(flash)
app_config.h中做了很多功能的控制宏
新增出厂设置的UI
\apps\earphone\music\sd_music.c SD卡音乐模式下按键的配置
出厂设置全流程
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 ...
AC700N系列ANC配置说明
TCFG_AUDIO_ANC_ENABLECONFIG_ANC_ENABLE :置1开启ANC
ANC_TRAIN_MODEANC_FF_EN:前馈降噪,支持通透模式和ANC降噪模式ANC_FB_EN:后馈降噪,仅支持ANC降噪模式ANC_HYBRID_EN:前馈降噪+后馈降噪,支持通透模式和ANC降噪模式
ANC_CHANC_L_CH:左声道ANCANC_R_CH:右声道ANCANC_L_CH | ANC_R_CH:立体声ANC注意:此处需要与TCFG_AUDIO_DAC_CONNECT_MODE对应。
例如:TCFG_AUDIO_DAC_CONNECT_MODE 为DAC_OUTPUT_MONO_L时,则ANC_CH仅选择ANC_L_CH,
TCFG_AUDIO_DAC_CONNECT_MODE为 DAC_OUTPUT_LR时,则ANC_CH选择ANC_L_CH | ANC_R_CH
麦克风配置ANCL_FF_MIC:左声道前馈麦克风配置ANCL_FB_MIC:左声道后馈麦克风配置ANCR_FF_MIC:右声道前馈麦克风配置ANCR_FB_MI ...
蓝牙开发
未读AC7006-杰理按键梳理按键的基本配置123456u8 key_table[KEY_NUM_MAX][KEY_EVENT_MAX] = { // SHORT LONG HOLD UP DOUBLE {KEY_MUSIC_PP, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL}, //KEY_0 {KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL}, //KEY_1 {KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL}, //KEY_2};
问题一:如果配置了ADkey(三个按键)、IOkey(三个按键)、THkey(两个按键),那么 ...










