概述
本篇文章将详细介绍如何在上节配置的基础上,实现通过接收手机发送的固定数据来点亮STM32WB开发板上的LED灯。 最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。
硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:
视频教学
听不到声音的请点击跳转进行观看。
[https://www.bilibili.com/video/BV1RM4y1b7sh/]
源码下载
[https://download.csdn.net/download/qq_24312945/87772294]
修改接收数据长度
在上解教程中,修改接收的长度,需要注意的是长度必须是1-247。 这里的案例为接收2个字节的数据来让LED进行亮灭。
定义在custom_stm.c的SizeMycharwrite变量中。
在Custom_STM_Event_Handler中,当 GATT 属性被修改(如通过蓝牙写操作)时,会触发ACI_GATT_ATTRIBUTE_MODIFIED_VSEVT_CODE事件。通过attribute_modified->Attr_Data[]可以判断接收的数据。 这里判断接收数据为55 aa则反转LED电平。
if((attribute_modified- >Attr_Data[0] ==0xaa)&&(attribute_modified- >Attr_Data[1] ==0x55))
{
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);
}
结果演示
通过手机发送数据可以查看到LED电平进行了翻转。