版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
荊楚理工學(xué)院Zigbee技術(shù)應(yīng)用及無線傳感器網(wǎng)絡(luò)課程論文
學(xué)院:電子信息工程學(xué)院班級(jí):18物聯(lián)網(wǎng)1班學(xué)生姓名:李梓萌學(xué)號(hào):2018401030133論文題目:基于Zigbee溫濕度采集系統(tǒng)完成日期:2021年6月16日指導(dǎo)教師評(píng)語:成績(jī)(五級(jí)記分制):教師簽名:
摘要:一般而言,無線傳感器網(wǎng)絡(luò)具有采集點(diǎn)眾多,分布面積廣的有點(diǎn),本設(shè)計(jì)基于ZigBee技術(shù),結(jié)合TI
z-stack無線傳感協(xié)議,實(shí)現(xiàn)對(duì)溫濕度等物理量的檢測(cè)。將溫濕度傳感器DHT11采集來的數(shù)據(jù),通CC2530做數(shù)據(jù)處理并利用ZigBee的無線發(fā)送模塊,將溫濕度信息發(fā)送出去。經(jīng)過ZigBee接收模塊接收數(shù)據(jù),再通過CC2530做數(shù)據(jù)處理,將溫度信息通過顯示屏顯示出來,從而完成對(duì)溫濕度的無線采集。關(guān)鍵詞:ZigBee;無線溫濕度采集;CC2530;系統(tǒng)硬件設(shè)計(jì)系統(tǒng)整體介紹本設(shè)計(jì)所實(shí)現(xiàn)的無線溫濕度采集系統(tǒng)以CC2530為核心,通過溫度傳感器DHT11、單片機(jī)、Zigbee無線模塊,完成對(duì)溫度的采集與顯示。首先利用溫濕度采集系統(tǒng)完成溫濕度的采集,然后利用數(shù)據(jù)轉(zhuǎn)換模塊完成了I/O口數(shù)據(jù)與串口數(shù)據(jù)的轉(zhuǎn)換,再通過無線發(fā)送與接收模塊完成數(shù)據(jù)的無線發(fā)、收,最終通過溫濕度顯示模塊完成了顯示溫濕度傳感器所采集的溫濕度值。系統(tǒng)框圖如下所示:CC2530芯片CC2530芯片DHT11采集溫濕度ZigBee發(fā)送模塊CC2530芯片ZigBee接收模塊PC顯示溫濕度圖1-1溫濕度采集系統(tǒng)框圖傳感器DHT11溫濕度采集DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)型號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗.技術(shù)參數(shù)供電電壓:3.3~5.5VDC輸出:?jiǎn)慰偩€數(shù)字信號(hào)測(cè)量范圍:濕度20-90%RH,溫度0~50℃測(cè)量精度:濕度+-5%RH,溫度+-2℃分辨率:濕度1%RH,溫度1℃互換性:可完全互換,長(zhǎng)期穩(wěn)定性:<±1%RH/年特性相對(duì)濕度和溫度測(cè)量全部校準(zhǔn),數(shù)字輸出卓越的長(zhǎng)期穩(wěn)定性無需額外部件超長(zhǎng)的信號(hào)傳輸距離超低能耗4引腳安裝完全互換電氣特性VDD=5V,T=25℃,除非特殊標(biāo)注參數(shù)條件mintypmax單位供電DC355.5V供電電流測(cè)量0.52.5mA平均0.21mA待機(jī)100150uA采樣周期秒1次1.2.4引腳說明Pin名稱注釋1VDD供電3-5.5VDC2DATA串行數(shù)據(jù),單總線3NC空腳,請(qǐng)懸空4GND接地,電源負(fù)極圖1-2DHT11引腳ZigBee協(xié)議ZigBee概述ZigBee一詞來源于蜜蜂賴以生存的通信方式Zigzag形狀的舞蹈,是一種低成本、低功耗的近距離無線組網(wǎng)通信技術(shù)。ZigBee協(xié)議是基于IEEE802.15.4標(biāo)準(zhǔn)的,由IEEE802.15.4和ZigBee聯(lián)盟共同制定。IEEE802.15.4工作組制定ZigBee協(xié)議的物理層(PHY)和媒體訪問控制層(MAC層)協(xié)議。ZigBee聯(lián)盟成立用于2002年,定義了ZigBee協(xié)議的網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)和安全服務(wù)規(guī)范。ZigBee協(xié)議由物理層(PHY)、介質(zhì)訪問控制子層(MAC)、網(wǎng)絡(luò)層(NWK),應(yīng)用層(APL)及安全服務(wù)提供層(SSP)五塊內(nèi)容組成。其中PHY層和MAC層標(biāo)準(zhǔn)由IEEE802.15.4標(biāo)準(zhǔn)定義,MAC層之上的NWK層,APL層及SSP層,由ZigBee聯(lián)盟的ZigBee標(biāo)準(zhǔn)定義。APL層由應(yīng)用支持層(APS),應(yīng)用框架(AF)以及ZigBee設(shè)備對(duì)象(ZDO)及ZDO管理平臺(tái)組成。PHY層定義了無線射頻應(yīng)該具備的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三種不同的頻段,分別支持20kbps、40kbps和250kbps的傳輸速率,1個(gè)、10個(gè)以及16個(gè)不同的信道Ⅲ。ZigBee的傳輸距離與輸出功率和環(huán)境參數(shù)有關(guān),一般為10~100米之間。PHY層提供兩種服務(wù):PHY層數(shù)據(jù)服務(wù)和PHY層管理服務(wù),PHY層數(shù)據(jù)服務(wù)是通過無線信道發(fā)送和接收物理層協(xié)議數(shù)據(jù)單元(PPDU),PHYMAC層使用CSMA-CA沖突避免機(jī)制對(duì)無線信道訪問進(jìn)行控制,負(fù)責(zé)物理相鄰設(shè)備問的可靠鏈接,支持關(guān)聯(lián)(Association)和退出關(guān)聯(lián)(Disassociation)以及MAC層安全。MAC層提供兩種服務(wù):MAC層數(shù)據(jù)服務(wù)和MAC層管理服務(wù),MAC層數(shù)據(jù)服務(wù)通過物理層數(shù)據(jù)服務(wù)發(fā)送和接收MAC層協(xié)議數(shù)據(jù)單元(MPDU)。MAC層的主要功能是:進(jìn)行信標(biāo)管理、信道接入、保證時(shí)隙(GTS)管理、幀確認(rèn)應(yīng)答幀傳送、連接和斷開連接。NWK層提供網(wǎng)絡(luò)節(jié)點(diǎn)地址分配,組網(wǎng)管理,消息路由,路徑發(fā)現(xiàn)及維護(hù)等功能。NWK層主要是為了確保正確地操作IEEE802.15.4.2003MAC子層和為應(yīng)用層提供服務(wù)接口。NWK層從概念上包括兩個(gè)服務(wù)實(shí)體:數(shù)據(jù)服務(wù)實(shí)體和管理服務(wù)實(shí)體。NWK層的責(zé)任主要包括加入和離開一個(gè)網(wǎng)絡(luò)用到的機(jī)制、應(yīng)用幀安全機(jī)制和他們的目的地路由幀機(jī)制,ZigBee協(xié)調(diào)器的網(wǎng)絡(luò)層還負(fù)責(zé)建立一個(gè)新的網(wǎng)絡(luò)。ZigBee應(yīng)用層包括應(yīng)用支持子層(APS子層)、應(yīng)用框架(AF)和ZigBee設(shè)備對(duì)象(ZDO)。APS子層負(fù)責(zé)建立和維護(hù)綁定表,綁定表主要根據(jù)設(shè)備之間的服務(wù)和他們的需求使設(shè)備相互配對(duì)。ZigBee的應(yīng)用框架(AF)為各個(gè)用戶自定義的應(yīng)用對(duì)象提供了模板式的活動(dòng)空間,并提供了鍵值對(duì)(KVP)服務(wù)和報(bào)文(MSG)服務(wù)供應(yīng)用對(duì)象的數(shù)據(jù)傳輸使用。一個(gè)設(shè)備允許最多240個(gè)用戶自定義應(yīng)用對(duì)象,分別指定在端點(diǎn)l至端點(diǎn)240上。ZDO可以看成是指配到端點(diǎn)O上的一個(gè)特殊的應(yīng)用對(duì)象,被所有ZigBee設(shè)備包含,是所有用戶自定義的應(yīng)用對(duì)象調(diào)用的一個(gè)功能集,包括網(wǎng)絡(luò)角色管理,綁定管理,安全管理等。ZDO負(fù)責(zé)定義設(shè)備在網(wǎng)絡(luò)中的角色(例如是ZigBee協(xié)調(diào)器或者ZigBee終端設(shè)備)、發(fā)現(xiàn)設(shè)備和決定他們提供哪種應(yīng)用服務(wù),發(fā)現(xiàn)或響應(yīng)綁定請(qǐng)求,在網(wǎng)絡(luò)設(shè)備之間建立可靠的關(guān)聯(lián)。安全服務(wù)提供者SSP(SecurityServiceProvider)向NWK層和APS層提供安全服務(wù)。ZigBee協(xié)議層與層之間是通過原語進(jìn)行信息的交換和應(yīng)答的。大多數(shù)層都向上層提供數(shù)據(jù)和管理兩種服務(wù)接口,數(shù)據(jù)SAP(ServiceAccessPoint)和管理SAP(ServiceAccessPoint)。數(shù)據(jù)服務(wù)接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù),管理服務(wù)接口的目標(biāo)是向上層提供訪問內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)的機(jī)制。ZigBee網(wǎng)絡(luò)基礎(chǔ)ZigBee網(wǎng)絡(luò)基礎(chǔ)主要包括設(shè)備類型,拓?fù)浣Y(jié)構(gòu)和路由方式三方面的內(nèi)容,ZigBee標(biāo)準(zhǔn)規(guī)定的網(wǎng)絡(luò)節(jié)點(diǎn)分為協(xié)調(diào)器(Coordinator)、路由器(Router)和終端節(jié)點(diǎn)(EndDevice)。節(jié)點(diǎn)類型是網(wǎng)絡(luò)層的概念,反映了網(wǎng)絡(luò)的拓?fù)湫问?。ZigBee網(wǎng)絡(luò)具有三種拓?fù)湫问剑盒切屯負(fù)洹湫屯負(fù)?、網(wǎng)狀拓?fù)?。ZigBee工作模式ZigBee網(wǎng)絡(luò)的工作模式可以分為信標(biāo)(Beacon)模式和非信標(biāo)(Non-beacon)模式兩種。信標(biāo)模式可以實(shí)現(xiàn)網(wǎng)絡(luò)中所有設(shè)備的同步工作和同步休眠,以達(dá)到最大限度地節(jié)省功耗,而非信標(biāo)模式只允許ZE進(jìn)行周期性休眠,協(xié)調(diào)器和所有路由器設(shè)備長(zhǎng)期處于工作狀態(tài)。在信標(biāo)模式下,協(xié)調(diào)器負(fù)責(zé)以一定的間隔時(shí)間(一般在15ms--4mins之間)向網(wǎng)絡(luò)廣播信標(biāo)幀,兩個(gè)信標(biāo)幀發(fā)送間隔之間有16個(gè)相同的時(shí)槽,這些時(shí)槽分為網(wǎng)絡(luò)休眠區(qū)和網(wǎng)絡(luò)活動(dòng)區(qū)兩個(gè)部分,消息只能在網(wǎng)絡(luò)活動(dòng)區(qū)的各個(gè)時(shí)槽內(nèi)發(fā)送。非信標(biāo)模式下,ZigBee標(biāo)準(zhǔn)采用父節(jié)點(diǎn)為子節(jié)點(diǎn)緩存數(shù)據(jù),終端節(jié)點(diǎn)主動(dòng)向其父節(jié)點(diǎn)提取數(shù)據(jù)的機(jī)制,實(shí)現(xiàn)終端節(jié)點(diǎn)的周期性(周期可設(shè)置)休眠。網(wǎng)絡(luò)中所有的父節(jié)點(diǎn)需要為自己的子節(jié)點(diǎn)緩存數(shù)據(jù)幀,所有子節(jié)點(diǎn)的大多數(shù)時(shí)間都處于休眠狀態(tài),周期性的醒來與父節(jié)點(diǎn)握手以確認(rèn)自己仍處于網(wǎng)絡(luò)中,并向父節(jié)點(diǎn)提取數(shù)據(jù),其從休眠模式轉(zhuǎn)入數(shù)據(jù)傳輸模式一般只需要15ms。1.3.4ZigBee無線組網(wǎng)及數(shù)據(jù)通信ZigBee通信協(xié)議采用分層結(jié)構(gòu),節(jié)點(diǎn)通過在不同層上的特定服務(wù)來完成所要執(zhí)行的各種任務(wù)。本系統(tǒng)采用TI提供的ZigBee2006協(xié)議棧Z-Stack,在IEEE802.15.4標(biāo)準(zhǔn)物理層(PHY)和媒體訪問控制層(MAC)基礎(chǔ)上增加了網(wǎng)絡(luò)層、應(yīng)用層和安全服務(wù)規(guī)范,是一種較好的無線傳感網(wǎng)絡(luò)組建方案。ZigBee設(shè)備類型按網(wǎng)絡(luò)功能分為三種:協(xié)調(diào)器、路由器、終端。由于本系統(tǒng)采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),所以只存在協(xié)調(diào)器和終端兩種設(shè)備。本系統(tǒng)中主節(jié)點(diǎn)被初始化為網(wǎng)絡(luò)協(xié)調(diào)器。協(xié)調(diào)器包含所有的網(wǎng)絡(luò)消息,存儲(chǔ)容量最大、計(jì)算能力最強(qiáng)。它的功能是發(fā)送網(wǎng)絡(luò)信標(biāo)、建立網(wǎng)絡(luò)、管理網(wǎng)絡(luò)節(jié)點(diǎn)、存儲(chǔ)網(wǎng)絡(luò)節(jié)點(diǎn)信息、收發(fā)信息。從節(jié)點(diǎn)被初始化為無信標(biāo)網(wǎng)絡(luò)中的終端設(shè)備。上電復(fù)位后,即開始搜索指定信道上的網(wǎng)絡(luò)協(xié)調(diào)器,并發(fā)出連接請(qǐng)求。建立連接成功后,數(shù)據(jù)從括從節(jié)點(diǎn)編號(hào),CC2530的I/O口編號(hào)以及此溫度傳感器的編號(hào),后2個(gè)字節(jié)為溫度采集數(shù)據(jù)。主節(jié)點(diǎn)收到數(shù)據(jù)包后,對(duì)數(shù)據(jù)進(jìn)行分析處理,把從節(jié)點(diǎn)上的溫度傳感器的數(shù)據(jù)采集值進(jìn)行轉(zhuǎn)換,得到實(shí)際的溫度值,然后發(fā)送給上溫度顯示部分。CC2530芯片1.4.1CC2530概述CC2530是一顆真正的系統(tǒng)芯片(SoC)CMOS解決方案。這種解決方案能夠提高性能并滿足以ZigBee為基礎(chǔ)的2.4GHzISM波段應(yīng)用,及對(duì)低成本,低功耗的要求。它結(jié)合一個(gè)高性能2.4GHzDSSS(直接序列擴(kuò)頻)射CC2530包括了1個(gè)高性能的2.4GHzDSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和1個(gè)8051控制器,它具有32/64/128kB可選擇的編程閃存和8kB的RAM,還包括ADC、定時(shí)器、睡眠模式定時(shí)器、上電復(fù)位電路、掉電檢測(cè)電路和21個(gè)可編程I/O引腳,這樣很容易實(shí)現(xiàn)通信模塊的小型化。CC2530是一款功耗相當(dāng)?shù)偷膯纹瑱C(jī),功耗模式3下電流消耗僅0.2μA,在32k晶體時(shí)鐘下運(yùn)行,電流消耗小于1μA。1.4.2CC2530芯片的主要特點(diǎn)CC2530芯片延用了以往CC2420芯片的架構(gòu),在單個(gè)芯片上整合了ZigBee射頻(RF)前端、內(nèi)存和微控制器。它使用1個(gè)8位MCU(8051),具有128KB可編程閃存和8KB的RAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、幾個(gè)定時(shí)器(Timer)、AES128協(xié)同處理器、看門狗定時(shí)器(Watchdogtimer)、32kHz晶振的休眠模式定時(shí)器、上電復(fù)位電路(PowerOnReset)、掉電檢測(cè)電路(Brownoutdetection),以及21個(gè)可編程I/O引腳。CC2530芯片采用0.18μmCMOS工藝生產(chǎn);在接收和發(fā)射模式下,電流損耗分別低于27mA或25mA。CC2530的休眠模式和轉(zhuǎn)換到主動(dòng)模式的超短時(shí)間的特性,特別適合那些要求電池壽命非常長(zhǎng)的應(yīng)用。主程序設(shè)計(jì)2.1軟件設(shè)計(jì)流程圖結(jié)束數(shù)據(jù)處理結(jié)束數(shù)據(jù)處理接受完成?否A/D轉(zhuǎn)換是/D轉(zhuǎn)換否A/D轉(zhuǎn)換是/D轉(zhuǎn)換CC2530無線接收是/D轉(zhuǎn)換是/D轉(zhuǎn)換否A/D轉(zhuǎn)換發(fā)射完成?無線發(fā)射模塊數(shù)據(jù)采集CC2530開始初始化否A/D轉(zhuǎn)換2-1軟件設(shè)計(jì)流程圖2.2程序設(shè)計(jì)與編寫zigbee硬件里面的程序大部分是在IAR環(huán)境下完成編譯調(diào)試的。發(fā)送部分:DHT11:#include<ioCC2530.h>#include"DHT11.h"#include"basic.h"#include"DS18B20.h"http://溫濕度定義ucharucharFLAG,uchartemp;ucharshidu_shi,shidu_ge,wendu_shi,wendu_ge;ucharucharT_data_H,ucharT_data_L,ucharRH_data_H,ucharRH_data_L,ucharcheckdata;ucharucharT_data_H_temp,ucharT_data_L_temp,ucharRH_data_H_temp,ucharRH_data_L_temp,ucharcheckdata_temp;ucharucharcomdata;/***********************溫濕度傳感***********************/voidCOM(void) //溫濕寫入{uchari;for(i=0;i<8;i++){ucharFLAG=2;while((!wenshi)&&ucharFLAG++);//firstly,waitthebusishighDelay_nus(30);//Delay_10us();//Delay_10us();//Delay_10us();//waitfor30us,decidewhetherishighorlowuchartemp=0;if(wenshi)uchartemp=1;//after30us,ifitishigh,thencanreadthe'1'ucharFLAG=2;while((wenshi)&&ucharFLAG++);//thenwaitthebusislowif(ucharFLAG==1)break;ucharcomdata<<=1;ucharcomdata|=uchartemp;}}voidDHT11_TEST(void)//溫濕傳感啟動(dòng){P1DIR|=0x02;wenshi=0;//Delay_ms(20);//>18MSDelay_nus(20000);P1DIR&=~0x02;//重新配置IO口方向//Delay_10us();//Delay_10us(); //Delay_10us();//Delay_10us();//thebusishighfor40usDelay_nus(40);if(!wenshi)//theDHTisresponsefor80us{ucharFLAG=2;while((!wenshi)&&ucharFLAG++);//waittheweishiishighucharFLAG=2;while((wenshi)&&ucharFLAG++);//waittheweishiislow,thencanstartitCOM();ucharRH_data_H_temp=ucharcomdata;COM();ucharRH_data_L_temp=ucharcomdata;COM();ucharT_data_H_temp=ucharcomdata;COM();ucharT_data_L_temp=ucharcomdata;COM();ucharcheckdata_temp=ucharcomdata;wenshi=1;uchartemp=(ucharT_data_H_temp+ucharT_data_L_temp+ucharRH_data_H_temp+ucharRH_data_L_temp);//P0DIR&=~0x01;//重新配置IO口方向//wenshi=1;if(uchartemp==ucharcheckdata_temp){ucharRH_data_H=ucharRH_data_H_temp;ucharRH_data_L=ucharRH_data_L_temp;ucharT_data_H=ucharT_data_H_temp;ucharT_data_L=ucharT_data_L_temp;ucharcheckdata=ucharcheckdata_temp;}wendu_shi=ucharT_data_H/10+0x30;wendu_ge=ucharT_data_H%10+0x30; shidu_shi=ucharRH_data_H/10+0x30;shidu_ge=ucharRH_data_H%10+0x30;}else//沒用成功讀取,返回0{wendu_shi=0;wendu_ge=0; shidu_shi=0;shidu_ge=0;}P1DIR&=~0x02;//重新配置IO口方向//wenshi=1;}/*****************************************************************************此程序?yàn)榘l(fā)送模塊程序?qū)嶒?yàn)操作:上電每隔一段時(shí)間向地址為RECEIVE_ADDR=0x1515的模塊發(fā)送數(shù)據(jù)pTxData[APP_PAYLOAD_LENGTH],數(shù)據(jù)長(zhǎng)度通過修改APP_PAYLOAD_LENGTH值來改變,數(shù)據(jù)值通過修改pTxData數(shù)組里的數(shù)據(jù)實(shí)現(xiàn),發(fā)送時(shí)間間隔通過改變延時(shí)時(shí)間來實(shí)現(xiàn)。*****************************************************************************///INCLUDES//#include<hal_assert.h>#include<hal_board.h>#include<hal_int.h>#include"hal_mcu.h"#include"hal_rf.h"#include"basic_rf.h"/***********************************************/#include<ioCC2530.h>#include<string.h>#include"DHT11.h"#include"basic.h"/******************************************//************************************************************************************CONSTANTS*///Applicationparameters#defineRF_CHANNEL25//2.4GHzRFchannel#definePAN_ID0x2007#defineSEND_ADDR0x1520//發(fā)送模塊地址#defineRECEIVE_ADDR0xBEEF//接收模塊地址#defineAPP_PAYLOAD_LENGTH5//數(shù)據(jù)長(zhǎng)度/************************************************************************************LOCALVARIABLES*/staticuint8pTxData[APP_PAYLOAD_LENGTH];staticbasicRfCfg_tbasicRfConfig;uint16count=0;voidmain(void){//ConfigbasicRFbasicRfConfig.panId=PAN_ID;basicRfConfig.channel=RF_CHANNEL;basicRfConfig.ackRequest=TRUE;basicRfConfig.myAddr=SEND_ADDR;//設(shè)定本機(jī)地址halBoardInit();//初始化單片機(jī)Initial_IO2();//初始化IOif(halRfInit()==FAILED){HAL_ASSERT(FALSE);}if(basicRfInit(&basicRfConfig)==FAILED){HAL_ASSERT(FALSE);}basicRfReceiveOff();//關(guān)接收,省電while(1){if(++count>2540)//計(jì)時(shí)參數(shù),時(shí)間到{DHT11_TEST();pTxData[0]=wendu_shi;//裝載第1個(gè)數(shù)據(jù)pTxData[1]=wendu_ge;//裝載第2個(gè)數(shù)據(jù)pTxData[2]=shidu_shi;//裝載第3個(gè)數(shù)據(jù)pTxData[3]=shidu_ge;//裝載第4個(gè)數(shù)據(jù)pTxData[4]=0x30;//裝載第5個(gè)數(shù)據(jù)count=0;basicRfSendPacket(RECEIVE_ADDR,pTxData,APP_PAYLOAD_LENGTH);//發(fā)送數(shù)據(jù)halIntOff();//PutMCUtosleep.halMcuSetLowPowerMode(HAL_MCU_LPM_3);//WillturnonglobalhalIntOn();//interruptenable}halMcuWaitMs(1);//延時(shí)1毫秒}}接收部分:串口:#include<ioCC2530.h>#include<string.h>#include"UART.h"#include"basic.h"/****************************************************************串口初始化函數(shù)***********************************************************/voidInitUart(){PERCFG&=~0x01;//UART0:位置1P0口P0SEL|=0x0c;//P0_2,P0_3用作串口,第二功能P2DIR&=~0XC0;//P0優(yōu)先作為UART0,優(yōu)先級(jí)U0CSR|=0x80;//UART方式U0GCR|=11;//U0GCR與U0BAUD配合U0BAUD|=216;//波特率設(shè)為115200UTX0IF=0;//UART0TX中斷標(biāo)志初始置位1(收發(fā)時(shí)候)}/****************************************************************串口發(fā)送函數(shù)****************************************************************/voidSend_char(ucharc){U0DBUF=c;while(UTX0IF==0);//發(fā)送完成標(biāo)志位UTX0IF=0;}/****************************************************************串口發(fā)送字符串函數(shù) ****************************************************************/voidUartTX_Send_String(char*Data,intlen){intj;for(j=0;j<len;j++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}U0DBUF=0x0A;//換行while(UTX0IF==0);UTX0IF=0;}此程序?yàn)榻邮漳K程序模塊上電設(shè)定本機(jī)地址為RECEIVE_ADDR=0x1515,當(dāng)檢測(cè)到有其他模塊向本地址發(fā)送數(shù)據(jù),進(jìn)入到數(shù)據(jù)接收函數(shù),把數(shù)據(jù)保存在寄存器Receive_Data_buffer中,并通過串口程序向PC端發(fā)送數(shù)據(jù)***********************************************************************************///INCLUDES//#include<hal_assert.h>#include<hal_board.h>#include<hal_int.h>#include"hal_mcu.h"#include"hal_rf.h"#include"basic_rf.h"#include"JLX12864.h"/********************************************************************/#include<ioCC2530.h>#include<string.h>#include"basic.h"#include"UART.h"/********************************************************************//************************************************************************************CONSTANTS*///Applicationparameters#defineRF_CHANNEL25//2.4GHzRFchannel#definePAN_ID0x2007#defineSEND_ADDR0x1520//發(fā)送模塊地址#defineRECEIVE_ADDR0xBEEF//接收模塊地址#defineAPP_PAYLOAD_LENGTH5//數(shù)據(jù)長(zhǎng)度/************************************************************************************LOCALVARIABLES*/staticuint8pRxData[APP_PAYLOAD_LENGTH];staticbasicRfCfg_tbasicRfConfig;uint16Data_count=0;uint8Data_receive=0;uint8Receive_Data_buffer[APP_PAYLOAD_LENGTH];voidLCD_display(){LCD_disp_char(2,1,pRxData[1]);//顯示接收到的第2個(gè)數(shù)據(jù)LCD_disp_int(4,1,Data_count);}voidmain(void){uint8i=0;//ConfigbasicRFbasicRfConfig.panId=PAN_ID;basicRfConfig.channel=RF_CHANNEL;basicRfConfig.ackRequest=TRUE;basicRfConfig.myAddr=RECEIVE_ADDR;//設(shè)定本機(jī)地址halBoardInit();//初始化單片機(jī)/***********************************************/Initial_IO();InitUart();/**********************************************/if(halRfInit()==FAILED){HAL_ASSERT(FALSE);}if(basicRfInit(&basicRfConfig)==FAILED){HAL_ASSERT(FALSE);}basicRfReceiveOn();//開接收while(1){if(basicRfPacketIsReady()){//receivedataif(basicRfReceive(pRxData,APP_PAYLOAD_LENGTH,NULL)>0){for(i=0;i<APP_PAYLOAD_LENGTH;i++){Receive_Data_buffer[i]=pRxData[i];//保存數(shù)據(jù)}UartTX_Send_String("wendu:",6);Send_char(Receive_Data_buffer[0]);Send_char(Receive_Data_buffer[1]);UartTX_Send_String("C",3);UartTX_Send_String("shidu:",6);Se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025土地流轉(zhuǎn)合同范文
- 養(yǎng)豬產(chǎn)業(yè)鏈一體化2025年度合作協(xié)議模板3篇
- 2025城市綜合體物業(yè)租賃合同
- 2025服務(wù)合同香港及境外股市投資咨詢服務(wù)協(xié)議
- 2025年度農(nóng)村房屋產(chǎn)權(quán)轉(zhuǎn)讓及配套設(shè)施移交合同2篇
- 二零二五年度企業(yè)培訓(xùn)與發(fā)展公司管理服務(wù)協(xié)議3篇
- 二零二五年度農(nóng)副產(chǎn)品電商平臺(tái)入駐合作協(xié)議3篇
- 2025年度智能化公廁建設(shè)與運(yùn)營(yíng)管理承包施工合同書模板3篇
- 二零二五農(nóng)村宅基地買賣與農(nóng)村土地整治與生態(tài)保護(hù)合同
- 二零二五年度農(nóng)民工工資支付委托及勞務(wù)合同管理協(xié)議
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對(duì)措施
- 退休人員返聘勞動(dòng)合同三篇
- 中華人民共和國(guó)安全生產(chǎn)法知識(shí)培訓(xùn)
- “雙減”政策下的學(xué)生心理健康工作總結(jié)
- 食品工藝學(xué)名詞解釋、簡(jiǎn)答題、填空題等
- 中醫(yī)腦癱課件教學(xué)課件
- 2024年新聞宣傳新聞采編專業(yè)及理論知識(shí)考試題附含答案
- 河南省濮陽市清豐縣多校2024-2025學(xué)年三年級(jí)上學(xué)期期中測(cè)試數(shù)學(xué)試題(無答案)
- 四川新農(nóng)村建設(shè)農(nóng)房設(shè)計(jì)方案圖集川東南部分
- 瑞得RTS-820系列全站儀說明書(適用RTS-822.822A.822L.822R.822R .822R3)
- 建筑垃圾外運(yùn)施工方案
評(píng)論
0/150
提交評(píng)論