Zigbee协议栈无线通信系统
生活随笔
收集整理的這篇文章主要介紹了
Zigbee协议栈无线通信系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Zigbee協議棧無線通信系統使用兩塊ZigbeCC2530黑色板
實現的功能如下:
<1> Zigbee網絡號PAN ID、信道號Channel ID請參考紙質附件給定的值。
<2> 程序開始運行Zigbee節點盒LED1、LED2燈亮,Zigbee模塊D4、D3、D6、D5燈亮;
<3> 單擊Zigbee節點盒SW1后,板上的LED1、LED2燈進入交替亮滅狀態(如LED1亮則LED2滅,LED2亮則LED1滅);同時發送一個信息給Zigbee模塊,當Zigbee模塊收到這個信息后Zigbee模塊板上的D4、D3、D6、D5燈進入流水燈狀態。
<4> 單擊Zigbee模塊上的SW1后,板上的D5、D6、D3、D4燈進入流水狀態;同時發送一個信息給Zigbee節點盒,當Zigbee節點盒收到這個信息后Zigbee節點盒板上的LED1、LED2進入呼吸燈狀態;
<5> 單擊Zigbee模塊上的SW2后,重置兩個Zigbee板上的燈,Zigbee模塊D4、D3、D6、D5燈亮;Zigbee節點盒LED1、LED2燈亮。
<6> 能重復實現以上步驟。
首先根據要求寫出等會要使用的函數
//延時函數 void Delay(unsigned int t) {while(t--); }燈光交替閃爍
{switch(led){case 0:D3=1;D4=0;break;case 1:D4=1;D3=0;break;} }按鍵掃描函數
void Scan_KeySW1A() {if(SW1==0){Delay(100);if(SW1==0){while(SW1==0);sys_stat=1;basicRfSendPacket(0x1015,"1",1);}} }流水燈
void liusuiA(int led) {switch(led){case 0:setled(0x02);break;case 1: setled(0x01);break;case 2: setled(0x08);break;case 3: setled(0x04);break;}halMcuWaitMs(500); }呼吸燈
void huxiLed() {for(PWM_LOW=1;PWM_LOW<PWM_CYCLE;PWM_LOW++){D3=0;D4=0;Delay(PWM_LOW);D3=1;D4=1;Delay(PWM_CYCLE-PWM_LOW);}for(PWM_LOW=PWM_CYCLE-1;PWM_LOW>0;PWM_LOW--){D3=0;D4=0;Delay(PWM_LOW);D3=1;D4=1;Delay(PWM_CYCLE-PWM_LOW);} }無線通信接收函數
void Basi_RecvA() {if(basicRfPacketIsReady()){rlen=basicRfReceive(rbuff,1,NULL);if(rlen>0){if(rbuff[0]=='1'){sys_stat=2;}else if(rbuff[0]=='2'){sys_stat=0;}}} }代碼源工程下載:資源上傳中…
總結
以上是生活随笔為你收集整理的Zigbee协议栈无线通信系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【实验室乱记】从 0 开始的 STM32
- 下一篇: java信息管理系统总结_java实现科