99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

程序員小哈
認證:優(yōu)質(zhì)創(chuàng)作者
作者動態(tài)
自動洗碗機綜合實例第二講 - 最小系統(tǒng)核心板PCB繪制
2024-07-18 09:21
自動洗碗機綜合實例第一講 - 最小系統(tǒng)核心板原理圖繪制
2024-07-16 09:40
線路板焊接的干貨都在這里呢
2024-07-14 12:08
基于單片機的智能風(fēng)扇DIY總結(jié)
2024-07-13 14:42
基于HAL庫實現(xiàn)按鍵(外部中斷)翻轉(zhuǎn)一個LED
2024-06-30 14:02

串口編程解析DL-LN33 ZigBee模塊數(shù)據(jù)包

實現(xiàn)功能

  • 模塊0x0002通過PC端的串口助手發(fā)送數(shù)據(jù)包“FE 06 A0 A1 01 00 01 00 FF”,點亮最小系統(tǒng)板上的LED指示燈;
  • 模塊0x0002通過PC端的串口助手發(fā)送數(shù)據(jù)包“FE 06 A0 A1 01 00 01 01 FF”,熄滅最小系統(tǒng)板上的LED指示燈;
  • 按最小系統(tǒng)板上的白色按鍵,實現(xiàn)通過0x0001模塊點亮0x0002模塊上的紅燈亮5S。

原理圖

最小系統(tǒng)板底板與ZigBee模塊連接原理圖

ZigBee模塊底板連接原理圖

此底板與ZigBee模塊連接之后,只需要一根Micro USB線即可實現(xiàn)對ZigBee模塊的各種功能調(diào)試,此底板相當(dāng)于一個USB轉(zhuǎn)TTL線的作用,底板上的主芯片為CH340C。

測試網(wǎng)絡(luò)是否正常

通過與地址0x0002模塊相連的COM14發(fā)送測試數(shù)據(jù),

例如發(fā)送:

FE 05 91 20 00 00 32 FF

或者:

FE 05 91 20 02 00 32 FF

讓自己模塊上的紅色LED點亮5秒。

==>證明硬件連接沒有問題。

然后測試網(wǎng)絡(luò)是否正常,發(fā)送測試數(shù)據(jù):

FE 05 91 20 01 00 32 FF

此指令將使地址0x0001的模塊亮5S。

==>證明網(wǎng)絡(luò)是正常的。

PC 串口助手發(fā)送數(shù)據(jù)

如下圖所示,發(fā)送如下數(shù)據(jù)包:

FE 06 A0 A1 01 00 01 00 FF

地址0x0002的模塊收到數(shù)據(jù)包之后,會將數(shù)據(jù)發(fā)送至目標(biāo)地址0x0001模塊,STM32最小系統(tǒng)板接收地址0x0001模塊收到的數(shù)據(jù),進而對收到的數(shù)據(jù)進行解析,然后點亮最小系統(tǒng)板上的綠色LED。

要想實現(xiàn)對數(shù)據(jù)包的解析,要完成如下幾部分工作:

  • 正確接收完整數(shù)據(jù)包
  1. 可以采用空閑中斷接收
  2. 采用定時器的方式,保證接收數(shù)據(jù)的完整
  • 對數(shù)據(jù)包進行解析

根據(jù)DL-LN33模塊協(xié)議及自定義協(xié)議,綜合解析數(shù)據(jù)包內(nèi)容。

此Demo可用于模擬根據(jù)需要自動觸發(fā)某個動作或者自動上傳傳感器數(shù)據(jù)至其他模塊。

自定義通訊協(xié)議說明

  1. 數(shù)據(jù)位中第一位01代表綠色指示燈:
  2. 數(shù)據(jù)位中第二位代表輸出電平:
  • 0x00代表輸出低電平
  • 0x01代表輸出高電平

通訊協(xié)議自己可以根據(jù)需要隨意定義,只要能保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性、解析數(shù)據(jù)包后的結(jié)果唯一性即可,因為本例只是實現(xiàn)點燈功能,所以通訊協(xié)議設(shè)定的比較簡單。

按鍵觸發(fā)數(shù)據(jù)傳輸

按鍵按下將發(fā)送如下數(shù)據(jù)包:

FE 05 91 20 02 00 32 FF

點擊核心板上的按鍵,上面數(shù)據(jù)將通過地址0x0001的模塊傳輸出去,地址0x0002的模塊收到數(shù)據(jù)之后,模塊上的紅燈亮5S。

按鍵觸發(fā)代碼

key = KEY_Scan(0);
  
if(key)   
{ 
 switch(key)    
 { 
  case KEY0_PRES:
   {
    memset(USART3_TX_BUF, 0, sizeof(USART3_TX_BUF)); 
        
    // 讓地址0x0002的模塊亮5S:FE 05 91 20 02 00 32 FF
    USART3_TX_BUF[0] = 0xFE;
    USART3_TX_BUF[1] = 0x05;
    USART3_TX_BUF[2] = 0x91;
    USART3_TX_BUF[3] = 0x20;
    USART3_TX_BUF[4] = 0x02;
    USART3_TX_BUF[5] = 0x00;
    USART3_TX_BUF[6] = 0x32;
    USART3_TX_BUF[7] = 0xFF;

    zigbee_send_cmd_by_lens(USART3_TX_BUF,8,"",10);
    
    printf("KEY0_PRES...\r\n");
   }
   break;         
  default:
   break;
 }   
}

這里注意封裝的函數(shù):

u8 zigbee_send_cmd_by_lens(u8 *cmd,u8 lens,u8 *ack,u16 waittime);

由于發(fā)送的指令中,會存在0x00,所以串口發(fā)送函數(shù)要有一個發(fā)送字節(jié)長度的參數(shù)才行,否則發(fā)送的數(shù)據(jù)可能不全。

參數(shù)ack可以傳進去一個返回值的數(shù)組,用于校驗指令返回值是否正確,進而判斷指令是否發(fā)送成功。

因為點亮模塊上的紅色LED的指令,屬于內(nèi)部端口指令,沒有返回值,所以咱們的ack參數(shù)傳進去一個空字符串即可。

結(jié)果展示

 小結(jié)

這是DL-LN33 ZigBee模塊介紹的最后一篇,有什么問題大家可以留言區(qū)交流

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關(guān)注 69
成為作者 賺取收益
全部留言
0/200
  • dy-heCQQK5l 05-06 12:40
    哥,能看看代碼嗎,我的郵箱是487662593@qq.com 不勝感謝,
    回復(fù)
主站蜘蛛池模板: 91精品视频网 | 天天躁日日躁狠狠躁欧美老妇小说 | 女人下边被添全过程A片图片 | av网站大全免费 | 日本免费在线看 | 91一区 | 综合97| 精品在线观看一区二区三区 | 亚洲精品中国国产嫩草影院美女 | 一区二区三区四区乱码 | 日产精品卡一卡2卡三卡四 最新成人网址 | 成人一区在线观看 | 人人插97 | 国产精品爽爽久久久久久 | 国产精品久久久久久久久久了 | 啪一啪日一日 | 无码人妻精品1国产婷婷 | 亚洲hh | 亚洲av无码久久寂寞少妇 | 在线观看特色大片免费视频 | 久久久久久久久无码精品亚洲日韩 | 国产三区在线观看 | 被公侵犯的漂亮人妻 | 国产黄大片在线观看画质优化 | 日产精品卡一卡2卡三卡四 最新成人网址 | 国产成人久久综合777777麻豆 | 国产精品国产片 | 久久深夜福利 | 小荡货奶真大水真多紧视频 | 久久艹一区| 国内精品免费久久久久软件 | 久久国产a级久久美女毛片 日韩激情无码一级毛片 | 亚洲女人久久久 | 久久久久毛片 | 免费A级毛片AV无码 爱情岛论坛自拍亚洲品质极速福利 | 午夜亚洲视频 | 日本波多野结衣在线 | 丰满少妇高潮惨叫久久久 | 中国丰满大乳乳液 | 极品嫩模被黑人20厘米 | 完美世界免费完整观看 |