avatar

松果工作室

欢迎光临

  • 首页
  • freeRTOS
  • LVGL
  • ESP
  • 开发手册
  • 快速笔记
  • 个人收藏
  • 时事记录
  • 考察日志
  • 工具
Home CH573(二) 蓝牙
文章

CH573(二) 蓝牙

Posted 2024-05-29 Updated 2024-07- 19
By YCP
19~25 min read

低功耗蓝牙手册链接

这个手册以最基本的外围设备Peripheral讲述了程序执行的流程. 核心是 TMOS , 这个 OS 本质是一个事件驱动的其实也不算是 OS. 但是简单又牛逼, 只要一步一步看手册, 跟着手册看函数, 就能读懂整个例子.

例子文件

├── BLE_UART
├── BLE_USB
├── BackupUpgrade_IAP
├── BackupUpgrade_JumpIAP
├── BackupUpgrade_OTA
├── Broadcaster
├── CentPeri
├── Central
├── CyclingSensor
├── Direct_Test_Mode
├── HAL
├── HID_Consumer
├── HID_Keyboard
├── HID_Mouse
├── HID_Touch
├── HeartRate
├── LIB
├── LWNS
├── MESH
├── MultiCentPeri
├── MultiCentral
├── Observer
├── OnlyUpdateApp_IAP
├── OnlyUpdateApp_JumpIAP
├── OnlyUpdateApp_Peripheral
├── Peripheral
├── RF_PHY
├── RF_PHY_Hop
├── RunningSensor
├── SpeedTest_Central
└── SpeedTest_Peripheral

学习顺序

(一) 初次了解

Peripheral:从基本的外围设备示例开始,了解外围设备的基本操作和配置。
Central:了解中心设备的基本操作和配置。
Observer:学习观察者的基本功能。

(二) 基本应用

HeartRate:学习一个简单的心率计应用,了解BLE数据传输。
RunningSensor:了解如何实现跑步传感器应用。
CyclingSensor:学习如何实现骑行传感器应用。

(三) 输入设备

HID_Keyboard:学习如何实现HID键盘。
HID_Mouse:学习如何实现HID鼠标。
HID_Touch:学习如何实现HID触控设备。
HID_Consumer:了解HID消费者设备的实现。

(四) 多设备管理

MultiCentPeri:学习同时管理多个中心和外围设备。
MultiCentral:学习如何实现多个中心设备。

(五) 高级应用

Broadcaster:学习广播器的实现。
Direct_Test_Mode:了解直接测试模式。
SpeedTest_Central:学习速度测试中心设备的实现。
SpeedTest_Peripheral:学习速度测试外围设备的实现。

(六) 网络和协议

LWNS:学习轻量级网络堆栈的实现。
MESH:了解蓝牙网格网络的实现。

(七) 固件升级和备份

BackupUpgrade_IAP:学习备份升级的IAP实现。
BackupUpgrade_JumpIAP:了解跳转IAP的实现。
BackupUpgrade_OTA:学习通过OTA进行备份升级。
OnlyUpdateApp_IAP:学习仅更新应用的IAP实现。
OnlyUpdateApp_JumpIAP:了解仅更新应用的跳转IAP实现。
OnlyUpdateApp_Peripheral:学习仅更新应用的外围设备实现。

(八) 其他示例

BLE_UART:学习通过UART接口的BLE实现。
BLE_USB:了解通过USB接口的BLE实现。

(九) 硬件抽象层和物理层

HAL:学习硬件抽象层的实现。
RF_PHY:了解射频物理层的实现。
RF_PHY_Hop:学习跳频的实现。

(十) 库和支持文件

LIB:了解库文件的使用。

补充

南京沁恒微电子股份有限公司 2024.01
最新资料请到我们的网站上查询
http://wch.cn


文件目录
  |
  |-- CH573: 低功耗蓝牙 - 32位RISC-V内核微控制器
  |      |-- EVT: CH573相关例程
  |      |      |-- EXAM: 
  |      |      |      |-- SRC  
  |      |      |      |      |-- Ld:link文件
  |      |      |      |      |-- RVMSIS:内核系统头文件
  |      |      |      |      |-- Startup:CH57x系列启动文件
  |      |      |      |      |-- StdPeriphDriver:基本外设驱动源文件及头文件
  |      |      |      |-- ADC:adc采样例程,包括温度检测、单通道检测、差分通道检测、TouchKey检测、中断方式采样
  |      |      |      |-- FLASH:片上flash例程:包括Code区,DataFlash区的擦/读/写
  |      |      |      |-- IAP
  |      |      |      |      |-- APP:和IAP配套使用的APP程序例程
  |      |      |      |      |-- USB_IAP:通过USB更新片上程序的例程
  |      |      |      |      |-- UART_IAP:通过串口更新片上程序的例程
  |      |      |      |      |-- WCHMcuIAP_WinAPP:IAP上位机工具及源码
  |      |      |      |-- PM:系统睡眠模式并唤醒例程:GPIOA_5作为唤醒源,共4种功耗等级
  |      |      |      |-- PWMX:PWM4-11输出功能例程
  |      |      |      |-- SPI0:SPI0例程,Master/Slave 模式数据收发 
  |      |      |      |-- TMR:定时器功能例程  
  |      |      |      |-- UART1:串口1收发例程
  |      |      |      |-- USB
  |      |      |      |      |-- Device
  |      |      |      |      |      |-- COM:USB模拟CDC设备例程
  |      |      |      |      |      |-- VendorDefinedDev:模拟自定义USB设备(CH372设备)例程,提供8个非0通道(上传+下传),实现数据先下传,然后数据内容取反上传
  |      |      |      |      |      |-- CompoundDev:USB模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 
  |      |      |      |      |      |-- HID_CompliantDev:USB模拟HID兼容设备例程
  |      |      |      |      |-- Host
  |      |      |      |      |      |-- HostEnum:USB常见设备hid键鼠,hub的枚举数据上下传演示等
  |      |      |      |      |      |-- HostAOA:USB主机应用例子,支持连接安卓设备与APP进行通讯。
  |      |      |      |      |      |-- U_DISK:U盘文件系统示例
  |      |      |      |      |      |      |-- EXAM1.C:C示例源程序,以字节为单位读写文件,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM10.C:C示例源程序,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM11.C:C示例源程序,枚举根目录或者指定目下的文件  
  |      |      |      |      |      |      |-- EXAM13.C:C示例源程序,创建长文件名文件  
  |      |      |      |      |      |-- USB_LIB:U盘文件系统库文件
  |      |      |      |-- BLE
  |      |      |      |      |-- Broadcaster:广播者角色例程,处于广播态一直广播
  |      |      |      |      |-- CyclingSensor:骑行传感器例程,连接主机后定时上传速度和踏频
  |      |      |      |      |-- CentPeri:主从一体例程,整合了主机例程和从机例程的功能同时运行
  |      |      |      |      |-- Central:主机例程,主动扫描周围设备,连接至给定的从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,默认为(84:C2:E4:03:02:02)
  |      |      |      |      |-- HeartRate:心率计例程,连接主机后定时上传心率
  |      |      |      |      |-- Peripheral:外设从机角色例程,自定义包含五种不同属性的服务,包含可读、可写、通知、可读可写、安全可读
  |      |      |      |      |-- RunningSensor:跑步传感器例程,连接主机后定时上传速度
  |      |      |      |      |-- HID_Keyboard:蓝牙键盘例程,模拟键盘设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Mouse:蓝牙鼠标例程,模拟鼠标设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Consumer:蓝牙拍照器例程,模拟用户控制设备,连接主机后定时上传音量键下键
  |      |      |      |      |-- HID_Touch:蓝牙触摸例程,模拟触摸笔设备,连接主机后定时上传触摸值
  |      |      |      |      |-- MultiCentPeri:多主机多从机例程,支持同时连接三个主机三个从机
  |      |      |      |      |-- MultiCentral:主机多连接例程,主动扫描周围设备,连接至给定的三个从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,三个从机设备地址默认为 (84:C2:E4:03:02:02)、(84:C2:E4:03:02:03)、(84:C2:E4:03:02:04)
  |      |      |      |      |-- Observer:观察者角色例程,定时扫描,如果扫描结果不为空,则打印扫描到的广播地址
  |      |      |      |      |-- Direct_Test_Mode:DTM测试例程序,结合RF测试工具使用
  |      |      |      |      |-- RF_PHY:非标准无线收发例程
  |      |      |      |      |-- RF_PHY_Hop:非标准无线跳频收发例程
  |      |      |      |      |-- MESH
  |      |      |      |      |      |-- adv_ali_light:天猫精灵灯例程,可通过天猫精灵找队友配网设备,控制开关状态。默认只有开关属性,如需添加其余属性(亮度,电量,温度等),需要自行根据阿里云产品配置的属性描述添加对应处理函数以及状态上报函数。
  |      |      |      |      |      |-- adv_ali_light_add_lightness:MESH通用属性添加例程。天猫精灵灯例程的基础上,添加了亮度属性,用于对照原天猫精灵灯例程,快速熟悉添加其他MESH通用属性的方法。
  |      |      |      |      |      |-- adv_ali_light_add_windspeed:天猫定义属性添加例程。天猫精灵灯例程的基础上,添加了风速属性,用于对照原天猫精灵灯例程,快速熟悉添加其他天猫定义属性的方法。
  |      |      |      |      |      |-- adv_ali_light_multi_element:多元素天猫精灵风扇灯例程。同时包含风扇开关摇头和灯开关颜色控制。用于对照原天猫精灵灯例程,快速熟悉添加多个属性的方法。
  |      |      |      |      |      |-- adv_ali_light_with_peripheral:天猫精灵灯例程的基础上,添加亮度和色温控制,并支持手机BLE调试助手连接控制。
  |      |      |      |      |      |-- adv_proxy:代理节点例程,可通过PB_GATT层(BLE连接)进行配网。
  |      |      |      |      |      |-- adv_vendor:厂商自定义模型例程,配合provisioner_vendor使用,支持有应答传输和无应答透传两种通信属性,自行拟定通信协议。
  |      |      |      |      |      |-- adv_vendor_friend:厂商自定义模型例程的基础上,支持朋友节点功能
  |      |      |      |      |      |-- adv_vendor_low_power:厂商自定义模型例程的基础上,支持低功耗节点功能,需与朋友节点配合使用
  |      |      |      |      |      |-- adv_vendor_self_provision:厂商自定义模型例程的基础上,支持本地自配网,适配无配网者或简化配网流程等特殊应用场景
  |      |      |      |      |      |-- adv_vendor_self_provision_with_peripheral:厂商自定义模型例程的基础上,支持手机BLE调试助手连接控制,通过BLE接收配网信息并将自身配网,适用于终端控制组网应用,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- provisioner_vendor:厂商自定义模型自配网发起者例程,配合adv_vendor使用,自动配网周围未配网设备,并将其加入自身mesh网络,默认支持配网6个设备。默认配置设备绑定1个APPKEY,用于有应答传输和无应答透传,配置设备绑定1个订阅地址,用于群发无应答消息
  |      |      |      |      |      |-- provisioner_vendor_with_peripheral:厂商自定义模型自配网发起者例程的基础上,支持手机BLE调试助手连接控制,中转手机与mesh网络的通信,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- MESH_LIB:MESH协议栈库文件及其头文件
  |      |      |      |      |      |-- 沁恒低功耗蓝牙MESH软件开发参考手册.pdf
  |      |      |      |      |-- LWNS:LWNS无线组网例程,包含broadcast、unicast、netflood、mesh等功能。
  |      |      |      |      |-- BackupUpgrade_IAP:备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码
  |      |      |      |      |-- BackupUpgrade_JumpIAP:备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- BackupUpgrade_OTA:备份无线升级用户例程,外设从机例程基础上添加OTA功能,可将升级固件保存到备份区后跳转IAP程序进行升级
  |      |      |      |      |-- OnlyUpdateApp_IAP:固定库无线升级IAP例程,具备OTA功能,接收升级固件后对用户区代码进行升级
  |      |      |      |      |-- OnlyUpdateApp_JumpIAP:固定库无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- OnlyUpdateApp_Peripheral:固定库无线升级用户例程,外设从机例程基础上添加跳转IAP程序进行后续升级的功能
  |      |      |      |      |-- BLE_UART:蓝牙串口透传例程,详细说明参考根目录<说明.txt>文档
  |      |      |      |      |-- BLE_USB:蓝牙与USB合用例程,USB模拟340设备转发蓝牙数据
  |      |      |      |      |-- SpeedTest_Central:蓝牙测速主机例程
  |      |      |      |      |-- SpeedTest_Peripheral:蓝牙测速从机例程
  |      |      |      |      |-- HAL:例程共用的硬件相关文件
  |      |      |      |      |-- LIB:BLE协议栈库文件及其头文件
  |      |      |      |      |-- 沁恒低功耗蓝牙软件开发参考手册.pdf
  |      |      |      |      |-- WCH蓝牙空中升级(BLE OTA).PDF
  |      |      |      |      |-- BLE认证证书:产品:WCH CH57x  QDID:D051556
  |      |      |-- PUB: CH573评估版原理图以及说明书
  |
WCH
License:  CC BY 4.0
Share

Further Reading

OLDER

CH573(一) 基础外设

NEWER

CH573(三) 代码结构

Recently Updated

  • ESP32(十) BLE OTA
  • ESP32(九) BLE GATTS
  • LVGL(四) 动画
  • LVGL(三) 对象中创建对象
  • LVGL(二) 定时回调

Trending Tags

LVGL WCH Linux Elec freeRTOS STM ESP Flutter Others SwiftUI

Contents

©2025 松果工作室. Some rights reserved.

Using the Halo theme Chirpy