国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

概述

本篇文章將詳細(xì)介紹如何在上節(jié)配置的基礎(chǔ)上,實現(xiàn)通過點擊STM32WB開發(fā)板上的按鍵發(fā)送數(shù)據(jù)到手機上。
最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:6_15061293 。

硬件準(zhǔn)備

首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是NUCLEO-WB55RG 的開發(fā)板:
STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機

視頻教學(xué)

聽不到聲音的請點擊跳轉(zhuǎn)進行觀看。
https://www.bilibili.com/video/BV1DM41137Jk/

STM32WB55

源碼下載

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

藍牙配置

選擇“mySVC”選項卡。添加第二個特征,特征數(shù)Number of characteristics設(shè)置為2
STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機

定義第二個特征名稱,這里定義為’myCharRead’,同時將UUID增加為00 01
STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機

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

代碼配置

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

app_conf.h

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

/* USER CODE BEGIN Defines */
void myTask(void);
/* USER CODE END Defines */

STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機
同時添加任務(wù)定義。

  /* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
	CFG_MY_TASK,
  /* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t *

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

app_ble.c

在app_ble.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)先級設(shè)置的。
UTIL_SEQ_RegTask(1 << CFG_MY_TASK, UTIL_SEQ_RFU, myTask) 將一個名為 myTask 的任務(wù)注冊到任務(wù)調(diào)度器中。
UTIL_SEQ_SetTask(1 << CFG_MY_TASK, CFG_SCH_PRIO_0)為設(shè)置優(yōu)先級。

  /* USER CODE BEGIN APP_BLE_Init_1 */
	UTIL_SEQ_RegTask( 1<<CFG_MY_TASK, UTIL_SEQ_RFU, myTask);
	UTIL_SEQ_SetTask(1 << CFG_MY_TASK, CFG_SCH_PRIO_0);
  /* USER CODE END APP_BLE_Init_1 *

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

按鍵配置

查看原理圖可以得知PC4為SW1按鍵。
STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機

同時配置為上拉,默認(rèn)狀態(tài)下電平為高電平狀態(tài)。
STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機

custom_app.c

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

/* USER CODE BEGIN PFP */
void myTask(void)
{
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_4)==0)//SW1按鍵按下
{
	UpdateCharData[0] = 0xbb;
 Custom_STM_App_Update_Char(CUSTOM_STM_MYCHARREAD, (uint8_t *)UpdateCharData);

}
UTIL_SEQ_SetTask(1 << CFG_MY_TASK, CFG_SCH_PRIO_0);
}

/* USER CODE END PFP */

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

結(jié)果演示

STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機文章來源地址http://www.zghlxwxcb.cn/news/detail-427516.html

到了這里,關(guān)于STM32WB55_NUCLEO開發(fā)(11)----發(fā)送數(shù)據(jù)到手機的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • STM32WB55開發(fā)(3)----斷開藍牙連接

    STM32WB55開發(fā)(3)----斷開藍牙連接

    在嵌入式領(lǐng)域中,STM32WB 系列微控制器以其雙核架構(gòu)和強大的無線連接能力而著稱。特別是其藍牙5.0的功能使得這款微控制器非常適合那些需要低功耗和高性能無線連接的應(yīng)用。然而,在實際的應(yīng)用中,合理和有效地管理藍牙連接是非常關(guān)鍵的,尤其是當(dāng)設(shè)備需要斷開或重新

    2024年02月08日
    瀏覽(22)
  • STM32WB55開發(fā)(6)----FUS更新

    STM32WB55開發(fā)(6)----FUS更新

    在 STM32WB 微控制器中,F(xiàn)US(Firmware Upgrade Services)是用于固件升級的一種服務(wù)。這項服務(wù)可以讓你更新設(shè)備上的無線棧固件(如藍牙、Zigbee或 Thread 棧),以及無線 MCU (microcontroller unit) 的系統(tǒng)服務(wù)。 FUS 實質(zhì)上是設(shè)備的一部分固件,它可以獨立于主應(yīng)用程序運行,主要負(fù)責(zé)安全

    2024年01月16日
    瀏覽(20)
  • STM32WB55開發(fā)(5)----調(diào)整射頻功率

    STM32WB55開發(fā)(5)----調(diào)整射頻功率

    隨著無線通信技術(shù)的不斷進步,能夠精確地控制射頻(RF)信號的功率變得越來越重要。調(diào)整射頻功率不僅可以影響設(shè)備的通信距離和覆蓋范圍,還可以優(yōu)化電池的使用壽命和減少可能的射頻干擾。ACI_HAL_SET_TX_POWER_LEVEL指令提供了一種方法,使工程師和開發(fā)者能夠在ST的藍牙設(shè)

    2024年02月06日
    瀏覽(22)
  • 內(nèi)嵌功能強大、低功耗STM32WB55CEU7、STM32WB55CGU7 射頻微控制器 - MCU, 48-UFQFN

    內(nèi)嵌功能強大、低功耗STM32WB55CEU7、STM32WB55CGU7 射頻微控制器 - MCU, 48-UFQFN

    一、概述: STM32WB55xx多協(xié)議無線和超低功耗器件內(nèi)嵌功能強大的超低功耗無線電模塊(符合藍牙? 低功耗SIG規(guī)范5.0和IEEE 802.15.4-2011標(biāo)準(zhǔn))。該器件內(nèi)含專用的Arm? Cortex? -M0+,用于執(zhí)行所有的底層實時操作。這些器件基于高性能Arm? Cortex?-M4 32位RISC內(nèi)核(工作頻率可達64 MHz),

    2024年02月11日
    瀏覽(18)
  • STM32學(xué)習(xí)記錄——藍牙發(fā)送數(shù)據(jù)(手機顯示傳感器數(shù)據(jù))

    STM32學(xué)習(xí)記錄——藍牙發(fā)送數(shù)據(jù)(手機顯示傳感器數(shù)據(jù))

    文章目錄 前言 一、學(xué)習(xí)目的 二、代碼記錄 ? ? ? ? 將數(shù)據(jù)通過藍牙發(fā)送到手機上,是學(xué)生學(xué)習(xí)單片機的必備技能之一,它可以將手機作為簡單的上位機,從而使數(shù)據(jù)直觀地展現(xiàn)出來。 ? ? ? ?藍牙的初始化、藍牙接受數(shù)據(jù)以及藍牙簡單應(yīng)用的介紹和代碼記錄,可以看一看下

    2024年02月07日
    瀏覽(27)
  • STM32 Nucleo-144開發(fā)板開箱bring-up

    STM32 Nucleo-144開發(fā)板開箱bring-up

    最近做項目,用到STM32F446ZET6這款MCU,為了趕進度,前期軟件需要提前開發(fā),于是在某寶買了對應(yīng)主控的官方開發(fā)板,為了避免遺忘,后面能翻出來回憶一些細(xì)節(jié),就形成了本篇的主要內(nèi)容,同時也希望能夠幫助剛上手的小伙伴少走彎路,如果對你有幫助請點贊、收藏、轉(zhuǎn)發(fā),

    2024年02月07日
    瀏覽(22)
  • 【STM32】STM32F411RET6(NUCLEO)開發(fā)板基于HAL庫創(chuàng)建工程模板及屏幕驅(qū)動

    【STM32】STM32F411RET6(NUCLEO)開發(fā)板基于HAL庫創(chuàng)建工程模板及屏幕驅(qū)動

    驅(qū)動單色0.96英寸七針OLED 顯示屏 串口調(diào)試等功能 本文如題采用STM32F411RET6(NUCLEO)開發(fā)板如圖所示。 開發(fā)環(huán)境使用MDK(keil5)和STM32CubeMX,不了解的同學(xué)可以去百度一下。 首先選擇對應(yīng)的開發(fā)板型號,然后進入圖形化配置界面。 第一步是時鐘配置,每個板子在不考慮功耗的情況下

    2024年02月09日
    瀏覽(23)
  • RT-Thread NUCLEO-STM32H563ZI開發(fā)板BSP說明

    RT-Thread NUCLEO-STM32H563ZI開發(fā)板BSP說明

    本文檔為 yuanzihao為 NUCLEO-STM32H563ZIT6 開發(fā)板提供的 BSP (板級支持包) 說明。 主要內(nèi)容如下: 開發(fā)板資源介紹 BSP 快速上手 注意事項及參考資料 通過閱讀快速上手章節(jié)開發(fā)者可以快速地上手該 BSP,將 RT-Thread 運行在開發(fā)板上。 NUCLEO-STM32H563ZIT6是 ST 推出的一款基于 ARM Cortex-M33 內(nèi)

    2024年02月03日
    瀏覽(19)
  • RT-Thread NUCLEO-STM32L452RE開發(fā)板BSP說明

    RT-Thread NUCLEO-STM32L452RE開發(fā)板BSP說明

    本文檔為 NUCLEO-L452RE 開發(fā)板提供的 BSP (板級支持包) 說明。 主要內(nèi)容如下: 開發(fā)板資源介紹 BSP 快速上手 進階使用方法 通過閱讀快速上手章節(jié)開發(fā)者可以快速地上手該 BSP,將 RT-Thread 運行在開發(fā)板上。在進階使用指南章節(jié),將會介紹更多高級功能,幫助開發(fā)者利用 RT-Thread

    2024年01月22日
    瀏覽(33)
  • RT-Thread STM32G070RB-Nucleo開發(fā)板的BSP說明

    RT-Thread STM32G070RB-Nucleo開發(fā)板的BSP說明

    本文檔為 STM32G070RB-Nucleo 開發(fā)板的 BSP (板級支持包) 說明。 主要內(nèi)容如下: 開發(fā)板資源介紹 BSP 快速上手 進階使用方法 通過閱讀快速上手章節(jié)開發(fā)者可以快速地上手該 BSP,將 RT-Thread 運行在開發(fā)板上。在進階使用指南章節(jié),將會介紹更多高級功能,幫助開發(fā)者利用 RT-Thread 驅(qū)

    2024年02月03日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包