STMCU小助手
发布时间:2022-4-28 22:49
|
开启ATTR_PERMISSION_AUTHOR_READ! |+ ~8 {) Z5 K 在配置界面中,开启ATTR_PERMISSION_AUTHOR_READ,即需要授权才可以进行读取。
同时开启GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP事件,当客户端每次进行读取尝试的时候,会产生一个EVT_BLUE_GATT_READ_PERMIT_REQ事件。
# y6 R$ N8 p3 M) q. x 配置完毕重新生成代码。0 p# Y4 a: O6 \6 a+ R2 I0 M' \ 7 X( g, [7 S% {$ ^
8 _: x1 u& t4 }; F) O+ h: O 代码配置' z3 Z+ Q( x/ g9 c. l2 s6 V 添加打印,方便查看是否执行了该代码段。 % E0 S* @* M& k1 z6 M
- i, q) X7 S0 }. i aci_gatt_allow_read()是允许 GATT 服务器发送对来自客户端的读取请求的响应。应用程序必须在收到EVT_BLUE_GATT_READ_PERMIT_REQ或EVT_BLUE_GATT_READ_MULTI_PERMIT_REQ时发送此命令。此命令向堆栈指示可以将响应发送到客户端。因此,如果应用程序希望在客户端读取任何属性之前更新它们,它必须使用 aci_gatt_update_char_value 更新特征值,然后发出此命令。应用程序应在 30 秒内执行所需的操作,否则 GATT 程序将超时。9 m1 b r- L, C3 I 8 v+ U2 D, b$ o. G) y
7 O6 t4 n( ?: l% } R& T- c 结果演示 下载完程序后,可以看到串口打印固件版本等信息。" `& D5 D$ H; Q( i ( i7 Q" U0 o5 L
打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。
- ^3 e- v* D- Z' u5 P0 w 点击connect进行连接。 连接之后可以看到串口打印了连接事件。 % R+ f; H7 G3 p, f
+ t* v: R, v v) v! h/ l! s 同时手机也显示该蓝牙模块连接成功。# K% P( E" g1 ?! P 4 G, Q! |$ a1 l
$ E0 \; Y$ A9 d 让后我们试着读取他。+ }- s4 e- c+ e" v9 }2 w: ? ' {! n3 t, d0 v/ j
可以看到已经成功读取出来。 / a( j' I. \" L% g
. V; p2 y% L B" S0 i) V 同时串口在每次读取时候都会进行打印。
; ~/ U' G4 N. _' a' E* C 若注释掉,则无法读取。' n% d- L0 o4 C! I4 u 3 a/ v0 o/ m# N, C( m4 \
_* f/ Q6 v/ o1 @+ s- j * r3 z6 u& U; i: ` E2 I- E3 _* j: t |
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
从照明到楼宇:STM32WBx5 BLE Mesh 落地指南
微信公众号
手机版