STM32WB55_NUCLEO開發(fā)(10)----接收手機(jī)特定數(shù)據(jù)點(diǎn)亮LED
概述
本篇文章將詳細(xì)介紹如何在上節(jié)配置的基礎(chǔ)上,實(shí)現(xiàn)通過接收手機(jī)發(fā)送的固定數(shù)據(jù)來點(diǎn)亮STM32WB開發(fā)板上的LED燈。 最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請(qǐng):615061293 。
硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是NUCLEO-WB55RG 的開發(fā)板:?

視頻教學(xué)
聽不到聲音的請(qǐng)點(diǎn)擊跳轉(zhuǎn)進(jìn)行觀看。?
https://www.bilibili.com/video/BV1RM4y1b7sh/

源碼下載
https://download.csdn.net/download/qq_24312945/87772294
修改接收數(shù)據(jù)長度
在上解教程中,修改接收的長度,需要注意的是長度必須是1-247。 這里的案例為接收2個(gè)字節(jié)的數(shù)據(jù)來讓LED進(jìn)行亮滅。?

定義在custom_stm.c的SizeMycharwrite變量中。?

在Custom_STM_Event_Handler中,當(dāng) GATT 屬性被修改(如通過藍(lán)牙寫操作)時(shí),會(huì)觸發(fā)ACI_GATT_ATTRIBUTE_MODIFIED_VSEVT_CODE事件。通過attribute_modified->Attr_Data[]可以判斷接收的數(shù)據(jù)。 這里判斷接收數(shù)據(jù)為55 aa則反轉(zhuǎn)LED電平。
? ? ? ? ? ? ? ? ? ? ? ?if((attribute_modified->Attr_Data[0] ==0xaa)&&(attribute_modified->Attr_Data[1] ==0x55))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);
? ? ? ? ? ? ? ? ? ? }

結(jié)果演示
通過手機(jī)發(fā)送數(shù)據(jù)可以查看到LED電平進(jìn)行了翻轉(zhuǎn)。?
