ch592f学习

  • ble基本组成 att是原始数据键值对,gatt是给原始数据加以修饰device service characteristic

gap 管理设备名字 是否可见 是否可链接 广播管理

|

CH592 Device -gatt

├── 温湿度 Service -gatt

│ │

│ ├── 温度 Characteristic Temp_Read/NotifyCallback()

│ │ ├── Read

│ │ └── Notify

│ │

│ └── 湿度 Characteristic -gatt

│ ├── Read -gatt

│ └── Notify -gatt

└── OTA Service

└── OTA Characteristic

├── Write

└── Notify

实际对应

ATT Table

Handle1

Handle2

Handle3

Handle4

...

  • 代码解析
cpp 复制代码
// Simple GATT Profile Callbacks

static OTAProfileCBs_t Peripheral_OTA_IAPProfileCBs = {
    OTA_IAPReadDataComplete, // Charactersitic value change callback
    OTA_IAPWriteData
};

OTAProfile_AddService(GATT_ALL_SERVICES);

 //  Register callback with OTAGATTprofile
OTAProfile_RegisterAppCBs(&Peripheral_OTA_IAPProfileCBs);
  • 理解

开机

OTAProfile_AddService()

创建

BLE Device

└── OTA Service

└── OTA Characteristic

OTAProfile_RegisterAppCBs()

给Characteristic绑定事件回调处理

Write

OTA_IAPWriteData()

Notify完成

OTA_IAPReadDataComplete()

  • 实际运行

手机发送数据

Write

OTA Characteristic

OTA_IAPWriteData()

Rec_OTA_IAP_DataDeal()

CMD_IAP_INFO

CMD_IAP_ERASE

CMD_IAP_PROM

...

设备回数据

OTA_IAP_SendData()

Notify

OTA Characteristic

手机

发送结束

OTA_IAPReadDataComplete()

相关推荐
存在morning2 分钟前
【Flink SQL 学习笔记 三】维表关联:Lookup Join、Temporal Join、窗口 Join
sql·学习·flink
你想知道什么?8 分钟前
提示词工程-学习笔记
笔记·学习
minglie18 分钟前
vivado中视频ip相关接口
学习
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(53):Experience-Following——为什么错误经验会在记忆中不断传播
论文阅读·人工智能·学习·开源·github
额,不知道写啥。1 小时前
从区间加一次函数到区间加多次函数最值-----区间数据结构与函数的一些东西(《浅谈函数最值的动态维护》的学习笔记)
数据结构·笔记·学习
艾莉丝努力练剑3 小时前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
浔溺10 小时前
al+大数据每日学习笔记26
笔记·学习
xx~t10 小时前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
老当益壮梁奶奶10 小时前
Linux软件编程学习笔记(七):线程分离与线程间通信详解
linux·c语言·c++·笔记·学习
我命由我1234512 小时前
UI 设计 7 种排列方式
xml·学习·ui·html·产品运营·产品经理·学习方法