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()

相关推荐
小满Autumn1 小时前
MVVM Light 架构笔记:定位器、命令、消息与 IoC 实践
笔记·学习·架构·c#·上位机·mvvm
蓝黑墨水1 小时前
动画角色的整个流程
学习
ZK_H3 小时前
MFC学习——简易计算器以及跨应用通信
学习·5g·mfc
踏着七彩祥云的小丑5 小时前
Go学习第1天:入门
开发语言·学习·golang·go
憧憬成为web高手5 小时前
[0CTF 2016]piapiapia
学习
imDwAaY5 小时前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法
我想我不够好。6 小时前
挖掘机技能介绍
学习
咸甜适中6 小时前
rust语言学习笔记Trait(十五)Drop(释放资源)
笔记·学习·rust