最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機(jī)

2023-08-30 09:31 作者:記帖  | 我要投稿

概述

本篇文章將詳細(xì)介紹如何在上節(jié)配置的基礎(chǔ)上,實(shí)現(xiàn)通過點(diǎn)擊STM32WB開發(fā)板上的按鍵發(fā)送數(shù)據(jù)到手機(jī)上。
最近在弄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/BV1DM41137Jk/


源碼下載

https://download.csdn.net/download/qq_24312945/87772294

藍(lán)牙配置

選擇“mySVC”選項(xiàng)卡。添加第二個(gè)特征,特征數(shù)Number of characteristics設(shè)置為2


定義第二個(gè)特征名稱,這里定義為’myCharRead’,同時(shí)將UUID增加為00 01


啟用CHAR_PROP_NOTIFY屬性。
CHAR_PROP_NOTIFY 是一個(gè)參數(shù)描述,它允許設(shè)備在特性值發(fā)生變化時(shí)發(fā)送通知,而無需接收方響應(yīng)。這種通知機(jī)制使得數(shù)據(jù)傳輸更加高效,因?yàn)榘l(fā)送方不需要等待接收方的確認(rèn)。


代碼配置

我們希望在按鈕按下時(shí)調(diào)用aci_gatt_update_char_value(…) API。這將會(huì)發(fā)送一個(gè)指令(CMD)給CM0+處理器,同時(shí)傳遞一個(gè)值作為參數(shù),為了解決在中斷上下文中調(diào)用API的問題,我們需要?jiǎng)?chuàng)建一個(gè)后臺(tái)任務(wù)來調(diào)用aci_gatt_update_char_value(…)。這個(gè)任務(wù)將在主程序循環(huán)中運(yùn)行,并在檢測到按鈕按下事件時(shí)調(diào)用API。
當(dāng)按鈕被按下時(shí),我們希望更新藍(lán)牙GATT特征值。為了實(shí)現(xiàn)這一目標(biāo),我們需要?jiǎng)?chuàng)建一個(gè)在后臺(tái)運(yùn)行的任務(wù),而不是直接在中斷處理程序中調(diào)用API。這是因?yàn)锳CI接口不是可重入的,直接在中斷處理程序中調(diào)用API可能導(dǎo)致不安全的情況。

app_conf.h

在app_conf.h中定義自定義任務(wù)。


同時(shí)添加任務(wù)定義。


app_ble.c

在app_ble.c中的藍(lán)牙初始化中注冊(cè)我們自己的任務(wù)和調(diào)度任務(wù)。
UTIL_SEQ_RegTask(1 << CFG_MY_TASK, UTIL_SEQ_RFU, myTask) 和 UTIL_SEQ_SetTask(1 << CFG_MY_TASK, CFG_SCH_PRIO_0) 是用于任務(wù)調(diào)度和任務(wù)優(yōu)先級(jí)設(shè)置的。
UTIL_SEQ_RegTask(1 << CFG_MY_TASK, UTIL_SEQ_RFU, myTask) 將一個(gè)名為 myTask 的任務(wù)注冊(cè)到任務(wù)調(diào)度器中。
UTIL_SEQ_SetTask(1 << CFG_MY_TASK, CFG_SCH_PRIO_0)為設(shè)置優(yōu)先級(jí)。


按鍵配置

查看原理圖可以得知PC4為SW1按鍵。


同時(shí)配置為上拉,默認(rèn)狀態(tài)下電平為高電平狀態(tài)。


custom_app.c

編寫我們的myTask任務(wù)函數(shù),通過檢測PC4按鍵進(jìn)行數(shù)據(jù)發(fā)送。
檢測一個(gè)按鍵(SW1)是否被按下,如果按下則執(zhí)行相應(yīng)的操作,包括更新UpdateCharData數(shù)組的第一個(gè)元素,調(diào)用自定義函數(shù)Custom_STM_App_Update_Char進(jìn)行處理,就是向手機(jī)APP發(fā)送一個(gè)0xbb的數(shù)據(jù)。


結(jié)果演示


STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機(jī)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
宁化县| 钟山县| 务川| 望奎县| 越西县| 新野县| 永善县| 平利县| 正阳县| 梁平县| 革吉县| 永年县| 漳平市| 廊坊市| 闻喜县| 肃宁县| 沙坪坝区| 阿克苏市| 台江县| 甘孜| 霍城县| 枣阳市| 林西县| 历史| 嘉黎县| 思南县| 巴彦淖尔市| 铜陵市| 当阳市| 武鸣县| 寻乌县| 木里| 介休市| 丘北县| 安丘市| 新营市| 高安市| 花莲市| 会理县| 武隆县| 图木舒克市|