Other Parts Discussed in Thread: LP-EM-CC2745R10-Q1, CC2755R10
器件型号: CC2745R10-Q1
Thread: CC2755R10 中讨论的其他器件
本文介绍了三个示例工程、演示了使用 Zephyr 3.7.0 v3.7.0-ti-9.14.00_ea 的 TI CC2755 微控制器上的增量 BLE 功能。
所有工程使用:
- 通道 3 上具有 12 位 ADC 分辨率
- DMA 驱动的 ADC 传输
- 3.3V 基准电压
要求
- Zephyr TI 下游版本 v3.7.0-ti-9.14.00_ea
- LP-EM-CC2745R10-Q1 LaunchPad
项目 1:ADC +闪存存储
最简单的项目每秒唤醒一次、读取 ADC、并使用 Zephyr 的 NVS(非易失性存储)子系统将测量结果保留到闪存中。 数据存续重置。
构建步骤:
- West build -b LP_em_cc2745r10_cc2755r10
- 西闪
ADC 配置通过器件树叠加完成:
&ADC0{
通道@3{
reg =<3>;
Zephyr、gain =“ADC_GAIN_1";“;
Zephyr、reference =“ADC_REF_VDD_1";“;
Zephyr、Vref-MV =<3300>;
Zephyr、采集时间= ;
Zephyr、分辨率=<12>;
};
};
项目 2:ADC + BLE 广播
建立在项目 1 的基础上、添加 BLE 广播。 该设备每秒广播一次其存在、从而让 BLE 扫描仪能够检测到它。
构建步骤:
- West build -b LP_em_cc2745r10_cc2755r10
- 西闪
器件广播为“CC2755_ADC",“,广播、广播间隔为 1 秒 (1600 × 0.625ms)。 广播和 ADC 测量无法同步、因为 Zephyr 不提供广播间隔回调。
项目 3:ADC + BLE 可连接
最完整的示例。 此示例添加了 BLE 与自定义 GATT 服务的连接支持。 客户端可以连接和读取 ADC 值或订阅通知。
- West build -b LP_em_cc2745r10_cc2755r10
- 西闪
该外设的 GATT 表示例包含一个具有两个特征的自定义服务。
- 服务 UUID:12345678-1234-5678-1234-56789abcdef0
- ADC 值特性(读取+通知):12345678-1234-5678-1234-56789abcdef1
- 测量计数特性(读取):12345678-1234-5678-1234-56789abcdef2
连接间隔设置为 500 毫秒 (400 × 1.25ms)。 这是因为有些手机很难扫描并连接到连接间隔非常大的设备(例如 1 秒)。
限制:
BLE 和器件树限制
CC2755 BLE 栈使用具有硬编码器件顺序的预编译控制器库。 目前、向器件树添加节点会移动这些顺序并使用 BLE 控制器库中断链接步骤。 结果是、对于 BLE 项目(即项目 2 和 3):
- 器件树叠加层必须保持空
- ADC 通道配置已在代码中完成
- 器件查找仍使用 DEVICE_DT_GET (DT_NDELABEL (ADC0))
对于非 BLE 项目(即项目 1):
- 支持完整的器件树 ADC 配置
- 使用 ADC_DT_SPEC_GET () 和相关 DT 宏
项目的文件: e2e.ti.com/.../4667.adc_5F00_ble_5F00_zephyr.zip