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

STM32+Zigbee模塊實(shí)現(xiàn)串口通信獲取傳感器數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了STM32+Zigbee模塊實(shí)現(xiàn)串口通信獲取傳感器數(shù)據(jù)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.所用的資源

1.兩個(gè)Zigbee透傳模塊
2.兩塊32板(我手上的是VET6和RCT6的兩塊板子),其它的板子也可以,不過注意一下啟動文件對應(yīng)
3.顆粒物傳感器

2.Zigbee模塊簡介

DL-22無線串口模塊
STM32+Zigbee模塊實(shí)現(xiàn)串口通信獲取傳感器數(shù)據(jù)

1.工作模式分為點(diǎn)對點(diǎn)和廣播模式
點(diǎn)對點(diǎn)模式,要設(shè)置一個(gè)發(fā)送端,一個(gè)接收端,根據(jù)它說明書進(jìn)行設(shè)置就好,還需要設(shè)置相同的信道,信道就是與傳輸數(shù)據(jù)的通道,不同的信道不會相互干擾
2.廣播模式,所有的Zigbee模塊都在同一個(gè)信道,任何一個(gè)模塊發(fā)出的數(shù)據(jù)都可以被其它模塊接收
我這里采用的是點(diǎn)對點(diǎn)模式,根據(jù)說明書已設(shè)置好發(fā)送與接收

3. STM32板上用到的資源

1.發(fā)送端32板:用到三個(gè)USART串口,串口1用于檢驗(yàn)單獨(dú)節(jié)點(diǎn)傳感器數(shù)據(jù)是否采集成功,與串口助手通信,在確保傳感器數(shù)據(jù)采集ok的情況下也可以不用,串口2用于與采集傳感器數(shù)據(jù),串口3用來連接Zigbee模塊。
2.接收端32板:用到兩個(gè)USART串口,串口1用于與串口助手通信,串口2用于連接Zigbee模塊。
3.我這里串口對應(yīng)的板子引腳
串口1:PA9 PA10
串口2: PA2 PA3
串口3: PB10 PB11

4.代碼部分

1.在之前記錄的串口通信博客的基礎(chǔ)上。
2.Zigbee模塊其實(shí)就是透傳作用,發(fā)送端通過串口2采集顆粒物傳感器數(shù)據(jù)到單片機(jī)內(nèi),通過串口3傳給Zigbee模塊,兩個(gè)Zigebee模塊通信,接收端Zigbee模塊通過串口2將接收的數(shù)據(jù)傳到板內(nèi),再通過串口1與串口助手進(jìn)行通信。所以關(guān)鍵的地方就在發(fā)送端的串口2接收傳感器數(shù)據(jù)完成后,把數(shù)據(jù)通過串口3發(fā)送到Zigbee模塊,所以需要在串口二的中斷函數(shù)里面加入串口3發(fā)送數(shù)據(jù)的命令。
STM32+Zigbee模塊實(shí)現(xiàn)串口通信獲取傳感器數(shù)據(jù)
3.發(fā)送端串口2中斷

//功能:串口2中斷服務(wù)程序,接收到數(shù)據(jù)會進(jìn)入這個(gè)函數(shù)
//參數(shù):無
//返回:無
 
 u8 USART_RX_BUF[10];//定義接收數(shù)組,看傳感器返回的有多少字節(jié)數(shù)據(jù)
 u8 USART_RX_STA=0;//數(shù)組標(biāo)志位,如第0位、第一位
 static char  start=0;  //開始接收數(shù)據(jù)標(biāo)志位

void USART2_IRQHandler(void)
{
  u8 Res=0;//定義一個(gè)數(shù)來接收每次讀取的數(shù)據(jù)
   if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)  //接收中斷,每一個(gè)字節(jié)都會中斷一次
    {
        Res =USART_ReceiveData(USART2);	//讀取接收到的字節(jié)數(shù)據(jù)
        //接收數(shù)據(jù)時(shí)不要隨便加入占用時(shí)間的命令,如串口打印,會影響下面數(shù)據(jù)字節(jié)的接收
      
			if(Res == 0xFF) //如果接收的第一位數(shù)據(jù)是0XFF(這個(gè)是查看傳感器的手冊得知的,這里相當(dāng)于進(jìn)行校驗(yàn))
            {
                 start=1;   //開始接收數(shù)據(jù)標(biāo)志位,一旦第一個(gè)接收正確,就就繼續(xù)向下接收
            }

            if(start== 1)
            {
                USART_RX_BUF[USART_RX_STA] = Res ; //把接收到的數(shù)據(jù)存到數(shù)組里面		
                USART_RX_STA++;//數(shù)組標(biāo)志位加1
                if(USART_RX_STA >= 10 && (USART_RX_BUF[1]==0X01))//這里還校驗(yàn)了接收的第二個(gè)數(shù)據(jù)
                    {
                     printf("PM2.5:%d\n",USART_RX_BUF[3]);//通過                         串口1打印接收數(shù)組里的數(shù)據(jù)	
                        							  	USART_SendData(USART3,USART_RX_BUF[3]);	//將數(shù)據(jù)通過串口3發(fā)出							  uart3_send_buff(USART_RX_BUF,10);
                        USART_RX_STA=0;//重新開始接收   
                        USART_RX_BUF[0] = 0;
					              start=0;
                    }
            } 
        
		}
	}		

4.接收端的代碼就和之前串口采集傳感器數(shù)據(jù)主動上傳的差不多了,只是把采集傳感器的數(shù)據(jù)換成了采集Zigbee獲得的數(shù)據(jù)。
發(fā)送端和接收端的完整代碼:放評論區(qū)了文章來源地址http://www.zghlxwxcb.cn/news/detail-404860.html

到了這里,關(guān)于STM32+Zigbee模塊實(shí)現(xiàn)串口通信獲取傳感器數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 通過串口中斷的方式進(jìn)行ASR-01S模塊與STM32通信(問題與解決)

    最近在做一個(gè)智能家居的項(xiàng)目,需要實(shí)現(xiàn)語音控制的功能,于是我選用了ASR-01S模塊與STM32通信,這個(gè)模塊最大的好處在于有配套的編程軟件和語音庫,不用自己訓(xùn)練且編程簡單(少兒編程的程度)。ASR-01S的代碼架構(gòu)在這不多說,總之在收到語音后它會通過串口發(fā)送一串命令給

    2024年04月22日
    瀏覽(169)
  • # 項(xiàng)目一:???STM32+串口DMA+RS485+MODBUS+傳感器實(shí)現(xiàn)SO2的測試

    # 項(xiàng)目一:???STM32+串口DMA+RS485+MODBUS+傳感器實(shí)現(xiàn)SO2的測試

    通過STM32控制傳感器實(shí)現(xiàn)氣體濃度的測量:RS485+MODBUS+串口DMA+定時(shí)器。 其中,USART2負(fù)責(zé)控制數(shù)據(jù)的發(fā)送和接受,USART3負(fù)責(zé)將詢問幀、應(yīng)答幀以及處理后數(shù)據(jù)打印出來,TIM1負(fù)責(zé)每隔1秒發(fā)送一次詢問幀。 持續(xù)更新手中的項(xiàng)目(導(dǎo)師給的活)經(jīng)驗(yàn)。。。 打工人加油??????????

    2024年02月11日
    瀏覽(26)
  • MQ-7一氧化碳傳感器模塊功能實(shí)現(xiàn)(STM32)

    MQ-7一氧化碳傳感器模塊功能實(shí)現(xiàn)(STM32)

    ? ? ? ? 首先來認(rèn)識MQ-7模塊,MQ-7可以檢測空氣中的一氧化碳(CO)濃度。他采用半導(dǎo)體氣敏元件來檢測CO的氣體濃度,其靈敏度高、反應(yīng)速度快、響應(yīng)時(shí)間短、成本低廉等特點(diǎn)使得它被廣泛應(yīng)用于智能家居、工業(yè)自動化、環(huán)保檢測等領(lǐng)域。 ????????MQ-7模塊的工作原理 基于

    2024年02月03日
    瀏覽(43)
  • ZIGBEE協(xié)議棧通信——阿里云上傳數(shù)據(jù)(STM32)(一)

    ZIGBEE協(xié)議棧通信——阿里云上傳數(shù)據(jù)(STM32)(一)

    Zigbee是一種低功耗、低成本的無線通信協(xié)議,特別適用于物聯(lián)網(wǎng)設(shè)備之間的通信。Zigbee協(xié)議棧是一組硬件和軟件層級結(jié)構(gòu),用于支持Zigbee設(shè)備之間的通信。 Zigbee協(xié)議棧通常由以下幾個(gè)層級組成: 1. 物理層(Physical Layer):負(fù)責(zé)處理物理無線通信的細(xì)節(jié),例如頻率、功率控制和

    2024年02月02日
    瀏覽(65)
  • STM32CubeMX實(shí)現(xiàn)USART串口通信

    STM32CubeMX實(shí)現(xiàn)USART串口通信

    硬件:stm32f103c8t6核心板 軟件:STM32CubeMX 6.6.1 keil5 mdk 這里就不再詳細(xì)介紹了,詳細(xì)請參考上一篇博客: https://blog.csdn.net/qq_55894922/article/details/127232999?spm=1001.2014.3001.5501 若點(diǎn)擊 Manage embedded software packages 后,出現(xiàn)失敗,則需要隨便點(diǎn)擊其它任一選項(xiàng),進(jìn)行下載一些文件,比如點(diǎn)

    2023年04月17日
    瀏覽(26)
  • STM32通過DMA方式實(shí)現(xiàn)串口通信

    目錄 一、DMA工作原理 ?二、創(chuàng)建工程項(xiàng)目 三、編寫代碼 1.在main.c寫入以下函數(shù) 2.main函數(shù)中的while循環(huán)中寫入以下代碼

    2024年02月15日
    瀏覽(31)
  • STM32(1)-簡單實(shí)現(xiàn)串口收發(fā)與通信

    STM32(1)-簡單實(shí)現(xiàn)串口收發(fā)與通信

    本文通過串口收發(fā)實(shí)驗(yàn)來說明具體的串口的使用過程,以及與其他外設(shè)通過串口進(jìn)行通信從而實(shí)現(xiàn)相關(guān)功能。 前言 在STM32里,串口通信是USART,STM32可以通過串口和其他設(shè)備進(jìn)行傳輸并行數(shù)據(jù),是全雙工,異步時(shí)鐘控制,設(shè)備之間是點(diǎn)對點(diǎn)的傳輸。對應(yīng)的STM32引腳分別是RX和TX端

    2024年02月08日
    瀏覽(19)
  • # STM32中斷方式實(shí)現(xiàn)串口通信(標(biāo)準(zhǔn)庫)

    # STM32中斷方式實(shí)現(xiàn)串口通信(標(biāo)準(zhǔn)庫)

    主要任務(wù) : 1)當(dāng)stm32接收到字符“s”時(shí), 停止持續(xù)發(fā)送 “hello windows!”; 當(dāng)接收到字符“t”時(shí), 持續(xù)發(fā)送 “hello windows!”; 2)當(dāng)stm32接收到字符“stop stm32!”時(shí),停止持續(xù)發(fā)送“hello windows!”; 當(dāng)接收到字符“go stm32!”時(shí),持續(xù)發(fā)送“hello windows!” 實(shí)驗(yàn)工具: (1)軟件 標(biāo)

    2024年02月11日
    瀏覽(28)
  • FPGA與stm32實(shí)現(xiàn)串口通信(stm32發(fā),F(xiàn)PGA收)

    FPGA與stm32實(shí)現(xiàn)串口通信(stm32發(fā),F(xiàn)PGA收)

    要使用FPGA與STM32實(shí)現(xiàn)串口通信,以下是一般的步驟: 配置STM32的串口模塊:使用STM32的庫函數(shù)或者寄存器配置,選擇一個(gè)可用的串口模塊(例如USART1、USART2等)并設(shè)置相應(yīng)的波特率、數(shù)據(jù)位、停止位等參數(shù)。確保STM32串口的引腳與FPGA連接正確。 配置FPGA與STM32之間的通信接口:

    2024年02月14日
    瀏覽(18)
  • 【STM32】STM32F103C8T6串口通信,實(shí)現(xiàn)3個(gè)串口收發(fā)數(shù)據(jù)

    串口通信(Serial Communications)實(shí)現(xiàn)單片機(jī)與電腦或者其它外設(shè)進(jìn)行通信,通信時(shí)只需兩根線(TX,RX)就可以實(shí)現(xiàn)數(shù)據(jù)傳輸。STM32f103有三個(gè)串口,分別為串口1(RX PA10, TX PA 9),串口2(RX PA3,TX PA2),串口3(RX PB11,TX PB10)。 以下代碼是配置三個(gè)串口: usart.c usart.h main.c 注意,

    2024年02月12日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包