|
读学习向导,官方给出的例程中Peer to Peer ,即P2PServer 例程,用来学习使用两条特征值完成 手机和板卡的双向交互。方便学习者继续熟悉BLE设备的使用。 继续使用keil 5来完成项目的Debug。打开手机app 中ST BLE ToolBox ,如图1所示:2 ^7 S$ d: [ M) i# q) ^
图1 上次app不好使,更新系统后,卸载并重新安装该款app, 能够正常连接使用。 打开app,搜索板卡,会显示p2pS_AD的连接,点击connect,如图2所示:1 [: u g+ x( R7 y. l, V% t, |
图2 点进去,会出现如图3所示的界面& b$ b! w9 Y2 \* [( j ` ?
图30 ?" G- m2 W0 Q9 O* @/ U2 w7 _ 展开profile, 通过滑块开启或关闭板卡的LED1 蓝灯,效果如图4所示:( U* y! I* Q; Q& {7 f+ q+ {' q8 ?5 k- [- y
图4 点击B1 button, app 界面会收到数据反馈,如图5所示:
图5 : R o6 Y+ Q+ s8 c5 M# G+ @# P c5 h/ r 测试完功能,就得需要修改为自己能理解的代码了。首先搞清楚板卡和手机究竟发了哪些数据。, n; L$ r; y$ I7 @% N6 C* P" o! f 找到板卡LED相应函数,在p2p_server_app.c 的文件里,就是void P2P_SERVER_Notification(P2P_SERVER_NotificationEvt_t *p_Notification)这个函数。, H& {; c/ _- G3 A% B1 R 定义了一个全局变量的数组,并在函数内完成赋值,如下所示:, y! n/ X% Y! i* ?# {" v
通过app下发指令,接收到的数据如图6和图7所示:
图6
图7' U! \$ U% x* i' ^$ a) U( T* { 是的,是两个字节,0x0001 代表开灯,0x0000代表关灯。 这个后面要修改为反转LED3.! W4 e2 {7 O. h6 g9 n , _, d! G3 R; }; M6 @) [( {* {5 T " R! v1 s! q) ` i 那按键返回的是什么数值呢,手机app上Details已显示,如图8和图9所示:
图8
图9 $ L. w; a4 r2 ?+ J- S# H 对,就是0x0100和0x0101。' R& l% t3 c' ^, H2 ]- q * k4 C% b8 I( a# `: h) }' ]+ p9 N+ q 完成了双向通信,修改板卡代码,发送0x0002, Toggle LED3 红灯" X' g: [& c7 \5 h- S " L/ ?/ Z) B* ^9 t5 N2 w# |% R 添加程序,如下所示:
在app中发送这两个字节,如图10所示:. H: w n9 J6 a6 i! ]0 m: Q/ z0 w
图100 a/ E2 _, R5 A4 y9 u5 w 4 ~3 H7 n2 A; q: }' [0 Z0 a5 p 效果如图11所示:
图11 基本完成和理解了数据的双向交互的过程,但官方提供的程序代码还需要好好深入理解,方便拿来使用到项目中。3 r% ]8 D C) c/ Z4 q $ ]$ ?$ k6 H: a* Q |
低功耗蓝牙无线升级: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 落地指南
微信公众号
手机版