Solution: Membrane Keyboard¶
重要
此例程仅存在于特殊版本的SDK中,如有需要请联系Panchip。
1 功能概述¶
此sample为pan108xxA3(48pin芯片)在实体键盘板下的应用
具体支持的feature如下:
通用功能:
按键模块:支持8×19 矩阵,支持标准按键/无冲按键(薄膜无硬件防冲功能,软件支持鬼键检测)
多层按键映射:目前默认实现4层,WIN/WIN(FN)/MAC/MAC(FN),BLE模式系统自动识别(Windows / macOS)。FN层主要实现F1 - F12多媒体按键,以及用户自定义事件,可扩展其它层
QDEC滚轮模块:支持去抖的正交解码器,正反转实现快速音量大小调节
LED模块:7 个可编程 RGB LED(WS2812 协议,SPI DMA 驱动),2个单色模式指示灯(NUM/CAPS),一个RGB模式指示灯,分别指示各模式下的连接状态
电量检测:ADC 电池电量监测
三模连接功能(2.4G/BLE/USB)
多级低功耗管理(待机 / 深度睡眠)
固件 OTA 升级(DFU via USB)
EMI测试
2 环境要求¶
board:
pan108xxA3(芯片型号)键盘板USB升级工具(USB升级工具获取:https://docs.panchip.com/pan1080dk-doc/latest/docs-zdk/06_dev_tools/pan108x_toolbox_intro.html)
键盘测试工具:
KEYTEST.exe
3 编译和烧录¶
例程位置:zephyr\samples_panchip\solutions_hid\memb_kb
使用 ZAL 工具可以对其进行编译、烧录、打开 VS Code 调试等操作。关于 ZAL 工具的详细介绍请参考:Zephyr APP Launcher 工具介绍。
4 演示说明¶
芯片全部擦除还原默认状态,准备好烧录common_dongle的接收器(PAN271或PAN1010)
4.1 电池供电模式¶
硬件支持锂电池供电
1、电池供电模式下3.4V低压报警(模式指示灯M-LED红色快闪),3.4V进入休眠状态,在不同的灯效下可能会提前进入低压报警状态
2、电池供电模式下,无任何按键按下的情况下,30s 后关闭RGB灯光,2.4G模式60s 后进入休眠,BLE模式保持连接状态,30分钟后进入休眠
4.2 USB供电模式¶
USB供电后,键盘不进入休眠状态
4.3 用户交互说明(按键组合)¶
4.3.1 模式切换(短按)¶
按键组合 |
功能 |
说明 |
|---|---|---|
FN + 1 |
切换到 BLE 设备 1 |
连接已配对的蓝牙设备 1 |
FN + 2 |
切换到 BLE 设备 2 |
连接已配对的蓝牙设备 2 |
FN + 3 |
切换到 BLE 设备 3 |
连接已配对的蓝牙设备 3 |
FN + 4 |
切换到 2.4GHz PRF |
使用 2.4GHz 接收器 |
FN + 5 |
切换到 USB 有线 |
使用 USB 数据线 |
4.3.2 配对操作(长按 ≥ 2s)¶
按键组合(长按) |
功能 |
说明 |
|---|---|---|
FN + 1 长按 |
BLE 设备 1 重新配对 |
进入广播,等待新设备连接 |
FN + 2 长按 |
BLE 设备 2 重新配对 |
进入广播,等待新设备连接 |
FN + 3 长按 |
BLE 设备 3 重新配对 |
进入广播,等待新设备连接 |
FN + 4 长按 |
PRF 重新配对 |
重置 2.4GHz 配对信息,广播等待接收器 |
FN + C 长按 |
清除当前通道配对信息 |
删除当前通道(BLE 或 PRF)的配对信息 |
4.3.3 LED 控制(短按)¶
按键组合 |
功能 |
对应事件 |
|---|---|---|
FN + ESC |
背光灯开/关 |
|
FN + Insert |
切换背光灯灯效模式 |
|
FN + PGUP |
背光灯亮度增加 |
|
FN + PGDN |
背光灯亮度降低 |
|
FN + ← |
背光灯效果速度降低 |
|
FN + → |
背光灯效果速度增加 |
|
4.3.4 功能测试¶
按键组合 |
功能 |
说明 |
|---|---|---|
FN + 9 |
模式指示灯开/关 |
方便测试键盘整机电流 |
4.5 USB升级(DFU)¶
USB DFU 升级操作可以参考 05_TOOLS\量产烧录工具\Panchip DFU Tool 最新版本的帮助内容内的操作说明,以下说明升级需要注意的点及原理
关于boot的文档可以参考https://docs.panchip.com/pan1080dk-doc/latest/docs-zdk/04_dev_guides/zephyr_bootloader_guidance.html
4.5.1 升级说明¶
双区升级: SDK中编译默认使用双区升级的方式(编译时选择prj.conf,APP分为slot0和slot1两个区,每个区为152KB,具体划分地址见上面文档描述),DFU升级时,待升级的固件先暂存在slot1,升级完成后搬运到 slot0 进行运行。
单区升级:
当客户应用程序比较大,单个slot(152KB)不够用时,可以考虑只用一个slot(将slot0和slot1合并),此时DFU升级会将直接放到slot0开始的位置。具体的实现方式是编译时选择prj_single_slot.conf文件。注意:这里只是切换了底层的boot固件,实际上要修改slot的大小还需修改工程下的memb_kb.overlay文件,在这个文件下加入以下内容:
/* Remove slot1 partition and increase slot0 partition for more code size */
/delete-node/ &slot0_partition;
/delete-node/ &slot1_partition;
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
slot0_partition: partition@30000 {
label = "image-0";
/* reg size 304K */
reg = <0x00030000 0x0004C000>;
};
};
};
4.5.2 boot自定义编译说明¶
如果需要自定义更新mcuboot固件,需要注意以下对应关系,建议操作步骤如下
编译mcuboot,注意控制好相关的宏(CONFIG_MCUBOOT_PAN_USB_DFU或者CONFIG_MCUBOOT_PAN_USB_SPI)开启及编译board的选择
以自定义编译键盘固件为例
ZAL工具编译mcuboot工程,编译board选择xxa1,提前修改01_SDK\bootloader\mcuboot\boot\zephyr\prj.conf或者01_SDK\bootloader\mcuboot\boot\zephyr\prj_single_slot.conf内的宏,之后进行编译。编译后,将编译出的mcuboot.xxx文件复制到01_SDK\modules\hal\panchip\panplat\pan1080\bootloader\images\bootdfu_for_mouse目录下,替换目录下已有的5个文件(注意区分是否为single slot版本),之后再重新编译APP即可。
4.5.3 注意事项¶
使用具有保护功能的boot时,boot的VID为0x046D,PID为0xC077,usb name 为 boot dfu
通过上位机工具量产烧录工具\Panchip DFU Tool升级时,可以参考工具内文档说明的步骤进行升级,注意选择支持强制升级的版本
PS
程序运行在boot区时,点击重启芯片可以跳转到app区域,程序升级正常之前,重新上电即可继续升级正确固件
4.6 DeviceTool使用¶
配合上位机工具键鼠专用工具\PAN108x工具\MouseDeviceTool可以进行产线USB信息测试及单载波测试,具体操作可以参考工具内说明文档
默认界面支持自定义消息开发
显示界面可以切换到USB设置测试功能界面
5 开发说明¶
5.1 硬件架构说明¶
5.1.1 主要外设¶
PAN1080 SoC
├── BLE 5.x 射频(内置)
├── 2.4GHz PRF 射频(内置,兼容 XN297/NRF24L01+)
├── USB FS(全速)控制器
├── SPI0(主模式,驱动 WS2812 LED,DMA 传输)
├── ADC(电池电量采样)
├── QDEC(正交解码,音量旋钮)
├── GPIO(按键矩阵,USB插入检测)
└── NVS Flash(配对信息、LED信息存储)
5.1.2 引脚分配¶
引脚 |
功能 |
说明 |
|---|---|---|
P14 P15 P52 P31 P40 P41 P42 P43 |
ROW0~ROW7 |
上拉输入,检测按键 |
P22 P37 P36 P35 P34 P32 P33 P57 P56 P55 P54 P47 P46 P45 P26 P17 P16 P11 P01 |
COL0~COL18 |
开漏输出,逐列扫描 |
P13 |
USB_CHECK_PIN |
USB 插拔检测 |
P12 |
LED_RGB_POWER |
ARGB LED 总电源 |
P42 |
74HC595 数据(DS) |
LED 移位寄存器数据(与按键矩阵IO共用) |
P43 |
74HC595 移位时钟(SHCP) |
LED 移位寄存器时钟(与按键矩阵IO共用) |
P44 |
74HC595 锁存时钟(STCP) |
LED 移位寄存器锁存 |
P20 |
QDEC A相(Z0) |
音量旋钮 |
P21 |
QDEC B相(Z1) |
音量旋钮 |
P02 |
USB DM |
USB口 |
P03 |
USB DP |
USB口 |
P10 |
ADC |
ADC检测口 |
5.2 软件架构说明¶
memb_kb基于zephyr架构,进行多线程编程,线程静态初始化后,根据优先级进行先后初始化,之后各个线程运行至while(1)等待相应的信号量,以此通过控制信号量控制各个线程的调度关系
5.2.1 目录结构¶
samples_panchip/solutions_hid/memb_kb/
├── CMakeLists.txt # 构建入口,定义源文件列表
├── Kconfig # 配置选项定义
├── prj.conf # 主工程配置(功能开关)
├── prj_single_slot.conf # DFU单区升级变体配置
├── sample.yaml # 工程元数据
├── memb_kb.overlay # 设备树覆盖(引脚、外设绑定)
│
├── src/ # ★ 主源代码目录
│ ├── main.c # 系统初始化、模式检测、主循环入口
│ ├── common.h # 全局定义:宏、枚举、结构体、线程声明
│ │
│ │ # 三模通信模块
│ ├── keyboard_ble.c # BLE蓝牙通信 (HOG协议)
│ ├── keyboard_prf.c # 2.4G私有RF通信 (XN297协议)
│ ├── keyboard_usb.c # USB HID通信
│ │
│ │ # 2.4G RF 子模块
│ ├── keyboard_prf_pair.c # 2.4G配对逻辑
│ ├── keyboard_prf_freq_hop.c # 2.4G跳频算法
│ ├── keyboard_prf_isr.c # 2.4G中断回调处理
│ │
│ │ # 输入/输出模块
│ ├── keyboard_key.c # 矩阵扫描、按键去抖、FN 组合键处理、LED、RGB实际执行
│ ├── keyboard_led.c # LED 驱动(74HC595 + WS2812 + SPI DMA)
│ ├── keyboard_led_effect.c # RGB灯效实现
│ ├── keyboard_qdec.c # 正交编码器(音量旋钮)
│ │
│ │ # 系统管理模块
│ ├── keyboard_pm.c # 电源管理(深睡眠/待机)
│ ├── keyboard_battery.c # 电池电量检测、看门狗喂狗
│ │
│ │ # 功能扩展模块
│ ├── keyboard_usb_dfu.c # USB DFU固件升级
│ ├── keyboard_emi.c # EMI测试模式
│ ├── keyboard_debug.c # 调试工具(无用,可以移除)
│ ├── keyboard_test_report_rate.c # 报告率测试(无用,可以移除)
│ │
│ └── utilities.c # 工具函数(NVS存储)
│
└── usb1.1/ # ★ USB 1.1协议栈
├── usb_panchip.h/c # Panchip USB驱动接口
├── musbfsfc.h/c # USB全速控制器
├── endpoint.h/c # 端点管理
├── endpoint0.h/c # USB 枚举相关
└── descript.h # USB描述符定义
5.2.2 线程结构¶
线程列表¶
线程名 |
优先级 |
栈大小 |
职责 |
|---|---|---|---|
|
1(高) |
1024 B |
矩阵扫描、按键处理、LED 刷新、电源管理 |
|
1(高) |
1024 B |
2.4GHz 数据发送、跳频管理 |
|
2 |
512 B |
USB HID 数据发送 |
|
2 |
512 B |
EMI 测试模式 |
|
2 |
512 B |
上报率测试(跟主体功能无关,可以去掉) |
|
3 |
1024 B |
BLE HID 数据发送 |
|
7(低) |
768 B |
电池电量采样(1秒周期) |
主要线程间同步(信号量)¶

5.4 模块详细说明¶
5.4.1 主控模块 (main.c)¶
职责: 系统初始化、模式检测与初始化
// 工作模式枚举
enum keyboard_work_mode_t {
keyboard_null_mode, // 0: 无效模式
keyboard_usb_mode, // 1: USB有线模式
keyboard_prf_mode, // 2: 2.4G私有RF模式 (默认)
keyboard_ble_mode, // 3: BLE蓝牙模式
keyboard_emi_mode, // 4: EMI测试模式
};
初始化流程:
使能LVR (低电压复位)
检测复位原因 (正常启动/待机唤醒)
配置时钟 (DPLL 48MHz, APB1/2分频)
初始化Flash NVS存储
加载USB配置 (VID/PID/字符串描述符)
初始化各外设 (LED/按键/ADC/GPIO)
检测工作模式 (从NVS读取)
初始化对应模式模块
启动看门狗
5.4.2 按键扫描模块 (keyboard_key.c)¶
矩阵规格: 8行 × 19列 = 152键位
扫描流程:
1.get_key_row_state_change(KEY_SCAN_DEBOUNCE_CNT); //获取行列矩阵变化状态,包含去抖和鬼键处理
2.get_key_value(); //记录矩阵变化的具体位置
3.get_key_update_data(); //判断变化的具体动作:短按,长按,释放等操作
4.keyboard_report_handle(); //将变化的键值存入环形缓冲区,释放信号量通知各线程
5.get_volume_data(); //QDEC(音量旋钮)变化检测以及对应处理
按键状态机:

按键类型:
Report ID |
类型 |
大小 |
说明 |
|---|---|---|---|
0x01(USB模式无ID) |
标准键盘 |
8 字节 |
修饰键 + Reserved + 6 个普通键 |
0x02 |
无冲键盘 |
16 字节 |
支持 120 键全键无冲 |
0x03 |
多媒体 |
3 字节 |
播放/暂停/音量等 |
0x04 |
电源控制 |
2 字节 |
睡眠/唤醒/关机 |
0x05 |
鼠标 |
8 字节 |
移动/按键(模拟鼠标功能) |
0x06 |
厂商自定义 |
64 字节 |
自定义功能 |
5.4.3 BLE通信模块 (keyboard_ble.c)¶
协议: HID over GATT Profile (HOGP)
GATT服务结构:
HID Service (UUID: 0x1812)
├── HID Information Characteristic
├── Report Map Characteristic (HID描述符)
├── Protocol Mode Characteristic
├── Report Characteristic (标准键盘) [Input + Output]
├── Report Characteristic (无冲键盘) [Input]
├── Report Characteristic (多媒体) [Input]
├── Report Characteristic (电源控制) [Input]
├── Report Characteristic (鼠标) [Input]
├── Report Characteristic (厂商) [Input + Output]
├── Boot Keyboard Input/Output
├── Boot Mouse Input
└── Control Point
多设备配对:
支持3台BLE设备同时配对 (
CONFIG_BT_MAX_PAIRED=3)设备名称: PanKB-MB{ID} (ID = 0/1/2,对应设备 1/2/3)
设备地址存储在NVS:
ble/peer0,ble/peer1,ble/peer2
连接参数:
// 默认连接参数
CONFIG_BT_PERIPHERAL_PREF_MIN_INT=6 // 7.5ms
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=6 // 7.5ms
CONFIG_BT_PERIPHERAL_PREF_LATENCY=30 // 跳过30个连接事件
CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=200 // 2秒超时
配对流程:

5.4.4 PRF通信模块¶
核心配置 (keyboard_prf.c)¶
参数 |
值 |
说明 |
|---|---|---|
工作模式 |
|
增强模式 |
芯片兼容 |
|
兼容PANCHIP系列接收器 |
物理层速率 |
2 Mbps |
|
CRC |
16-bit |
|
发射功率(配对中) |
-30 dBm |
降低干扰 |
发射功率(已配对) |
+7 dBm |
最大功率 |
地址长度 |
4 字节 |
|
RX 超时 |
100 us |
配对协议 (keyboard_prf_pair.c)¶

配对流程:
键盘使用公共地址
{0x7b, 0x41, 0x29, 0x72}在公共频道 2412MHz 发送配对请求Dongle 收到后回复 ACK,携带 Dongle 的 MAC 地址
键盘保存配对信息到 NVS (
prf/paired_flag,prf/pair_mac_addr)基于配对地址计算私有通信地址和跳频序列
切换到私有地址和跳频模式进行正常通信
跳频算法 (keyboard_prf_freq_hop.c)¶
// 基于设备地址生成8个跳频频道
void calculate_combo_freq(uint8_t *addr); // 由接收器 MAC 地址计算确定
跳频触发条件:
连续
FREQ_HOP_NOACK_THREHOLD(默认5次) 未收到ACK自动切换到下一个频道重试
遍历8个频道直到收到响应
数据包格式¶
┌──────────┬──────────┬───────────┬──────────────┬─────────────┐
│ 设备类型 │ seq │ oppo_seq │ 数据类型 │ 数据 │
│ 1 byte │ 1 byte │ 1 byte │ 1 byte │ N bytes │
└──────────┴──────────┴───────────┴──────────────┴─────────────┘
设备类型:
- 0x00: 鼠标
- 0x01: 键盘
- 0x02: 大键盘
- 0xFF: Dongle
数据类型 (高4位:主类型, 低4位:子类型):
- 0x00: 空数据
- 0x10: USB EP0 数据 (默认没有用到)
- 0x11: USB EP1 数据 (标准键)
- 0x12: USB EP2 数据 (多媒体/全键/鼠标)
- 0x13: USB EP3 数据 (厂商:主要是用于驱动数据透传)
- 0x20: 重传数据
- 0x30: 自定义数据 (比如电量信息,休眠挂起等其它自定义消息)
seq: 发送序列号, 每次发送递增
oppo_seq: 对端序列号, 用于ACK确认
整体状态机¶

5.4.5 USB通信模块 (keyboard_usb.c)¶
端点配置:
端点 |
方向 |
用途 |
|---|---|---|
EP1 |
IN |
标准键盘报告 (8字节) |
EP2 |
IN/OUT |
无冲/多媒体/全键/鼠标 |
EP3 |
IN/OUT |
厂商自定义数据 |
EP0 |
IN/OUT |
控制传输 (枚举/SET_REPORT) |
USB状态机:
enum usb_stat_t {
usb_none, // 未初始化
usb_active, // 活跃状态
usb_suspending, // 正在挂起
usb_suspended, // 已挂起 (可唤醒)
usb_resuming, // 正在恢复
};
USB插入检测:
使用 GPIO P13 检测 USB插入和拔出
插入时初始化 USB 时钟和中断
拔出时关闭 USB 时钟
5.4.6 LED 模块 (keyboard_led.c)¶
硬件架构¶
LED分为2部分:背光灯和LED状态指示灯
背光灯(7×WS2812 RGB)
每个RGB:24 位数据(8G + 8R + 8B,WS2812 格式)
总数据:7 × 24 = 168 位/帧
传输方式:SPI DMA,传输完成触发 ISR
LED指示灯
74HC595 移位寄存器控制NUM/CAP以及模式指示灯
背光灯效果模式¶
模式 |
说明 |
|---|---|
|
彩虹流动 |
|
单色流动 |
|
静态单色(红/黄/绿/青/蓝/紫/白) |
|
多色混合静态 |
|
呼吸效果 |
|
彩虹循环 |
|
追逐效果 |
|
窗口效果 |
亮度等级: 0(关)~ 4(最亮) 速度等级: 1(最慢)~ 5(最快)
LED 状态指示灯¶
状态 |
LED 表现 |
触发条件 |
|---|---|---|
BLE 配对中(通道1) |
蓝色快闪 |
进入 BLE 配对广播 |
BLE 已连接(通道1) |
蓝色常亮 |
BLE 连接建立 |
BLE 断开(通道1) |
蓝色慢闪 |
BLE 连接断开 |
PRF 配对中 |
绿色快闪 |
进入 PRF 配对广播 |
PRF 已连接 |
绿色常亮 |
PRF 连接建立 |
PRF 断开 |
绿色慢闪 |
PRF 连接断开 |
USB 已连接 |
白色常亮 |
USB 枚举完成 |
USB 断开 |
白色慢闪 |
USB 断开/挂起 |
低电量 |
红色闪烁 |
电池电量低于阈值 |
5.5. 电源管理策略¶
5.5.1 2.4G低功耗状态¶

5.5.2 BLE低功耗状态¶

5.5.3 低功耗模式配置¶
模式 |
唤醒源 |
RAM保持 |
|---|---|---|
Active |
- |
是 |
Idle (ble模式保留连接状态) |
GPIO中断 |
是 |
Deep Sleep |
GPIO中断 |
是 |
Standby (M1) |
GPIO中断 |
否 |
5.6. 参数保存¶
NVS Flash 存储键值¶
键名 |
大小 |
说明 |
|---|---|---|
|
1 字节 |
PRF 是否已配对 |
|
6 字节 |
PRF 接收器 MAC |
|
1 字节 |
当前工作模式 |
|
6 字节 ×3 |
BLE 对端地址 |
|
6 字节 ×3 |
BLE 本端地址 |
|
1 字节 |
当前 BLE 设备号 |
|
6 字节 |
RGB模式/亮度/速度/开关/状态 |
|
2 字节 |
USB VID |
|
2 字节 |
USB PID |
|
变长 |
USB 厂商字符串 |
|
变长 |
USB 产品字符串 |
FFR 信息区¶
位置:Flash IVT 之后 0x302C0 偏移 64 字节
内容:
CID = CONFIG_APP_CID = 0x07D10005(应用标识,DFU防止误升级)
5.7. 配置说明¶
5.7.1 prj.conf 关键配置¶
# 串口打印配置(当需要开启打印时修改为y或者屏蔽这几个宏)
CONFIG_SERIAL=n
CONFIG_UART_INTERRUPT_DRIVEN=n
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_PRINTK=n
# BLE配置 (可修改VID/PID/广播名称)
CONFIG_BT_DIS_PNP_VID_SRC=2
CONFIG_BT_DIS_PNP_VID=0x07d1
CONFIG_BT_DIS_PNP_PID=0x0005
CONFIG_BT_DIS_PNP_VER=1
CONFIG_BT_DEVICE_NAME="PanKB-MB"
# BOOT固件选择 (如果要修改为单区升级,使能CONFIG_SINGLE_APPLICATION_SLOT_APP=y)
CONFIG_MCUBOOT_IMAGE_TYPE=1
5.7.2 设备树配置 (memb_kb.overlay)¶
memb_kb.overlay的作用是使用下面的配置信息覆盖底层默认的配置
/ {
chosen {
zephyr,console = &uart0;
};
};
/* 重新修改串口打印口 */
&uart0 {
current-speed = <115200>;
pinctrl-0 = <&p3_0_uart0_tx>;
status = "okay";
};
/* 设置时钟源 */
&dpll {
/* f(dpll_output) = f(dpll_input) / clock_div * clock_mult */
clocks = <&clk_xth>;
clock-div = <2>;
clock-mult = <3>; /* 48MHz */
status = "okay";
};
/* 设置主频和总线分频 */
&rcc {
clock-names = "clk_system", "clk_slow";
clocks = <&dpll &clk_rcl>;
clock-frequency-system = <48000000>;
clock-frequency-slow = <32000>;
ahb-prescaler = <1>;
apb1-prescaler = <1>;
apb2-prescaler = <4>;
};
/* 默认系统为A/B升级,如果flash不够,想修改为单区升级,加入下面内容,注意要配合CONFIG_SINGLE_APPLICATION_SLOT_APP=y使用 */
/* Remove slot1 partition and increase slot0 partition for more code size */
/delete-node/ &slot0_partition;
/delete-node/ &slot1_partition;
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
slot0_partition: partition@30000 {
label = "image-0";
/* reg size 304K */
reg = <0x00030000 0x0004C000>;
};
};
};
6 补充说明¶
补充说明当前功耗测试情况,支持中遇到的问题(供参考)及已知仍可能存在的问题
6.1 功耗说明¶
LED开启的情况下,电流跟具体灯效有关,所以测试时需要关闭LED灯,按FN + ESC 打开/关闭背光RGB灯。NUM/CAPS指示灯通过对应的NUM和Caps键关闭和打开。模式指示灯M-LED默认是常开的,通过 FN + 9打开和关闭。
2.4G功耗
模式 |
工作 mA |
空闲 uA |
(休眠 standby) uA |
|---|---|---|---|
2.4G |
1 - 1.3 |
900 |
40 |
蓝牙功耗
模式 |
工作mA |
空闲 uA |
一级休眠(30S关灯后)uA |
无按键30分钟(休眠 deepsleep) uA |
|---|---|---|---|---|
BLE |
1.3 - 2 |
980 |
300 |
40 |
6.2 蓝牙启动时间说明¶
2.4G和蓝牙启动需要对controller进行初始化,controller初始化时间可以由log观测,目前测试启动时间为66ms
7 RAM/Flash资源使用情况¶
根据需求,可以选择512K/1M Flash 进行使用,以下以xxa3 board编译为例
Memory region Used Size Region Size %age Used
FLASH: 124312 B 152 KB 79.87%
SRAM: 44492 B 54 KB 80.46%


