找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3159|回復: 3
打印 上一主題 下一主題
收起左側(cè)

zigbee串口發(fā)收單片機源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:330030 發(fā)表于 2018-6-3 15:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
zigbee串口發(fā)收


單片機源程序如下:
  1. /************發(fā)送數(shù)據(jù)格式:命令+數(shù)據(jù)長度+ID+傳感器數(shù)據(jù)+校驗*****************/
  2. #include <reg52.h>
  3. #include "uart.h"                                // 串行通信函數(shù)頭文件                          

  4. #define errorState 0x01//異常命令
  5. #define open_LED   0x02//開燈命令
  6. #define close_LED  0x03//關燈命令


  7. sbit key1=P2^0;
  8. sbit key2=P2^1;
  9. sbit key3=P2^7;

  10. typedef struct zigbee  //整個數(shù)據(jù)結(jié)構(gòu)為14字節(jié)
  11. {
  12.         uint8_t Order;//命令類型
  13.         uint8_t ValidDataLen;//有效數(shù)據(jù)長度
  14.         uint8_t wdata[10];//數(shù)據(jù)
  15.         uint8_t crc;//校驗和
  16. }zigbeeCmd_t;

  17. zigbeeCmd_t zigbeeCmd;

  18. /*
  19. 函數(shù)用途:數(shù)據(jù)發(fā)送函數(shù)
  20. 輸入數(shù)據(jù):
  21. 輸出數(shù)據(jù):0 成功 1失敗
  22. */
  23. uint8_t zigbeeSendCmd(void)
  24. {
  25.         uint8_t i,ax=8,ay=9;
  26.        
  27.   zigbeeCmd.Order = errorState;
  28.         zigbeeCmd.ValidDataLen = 2;
  29.         zigbeeCmd.wdata[0] = ax;
  30.         zigbeeCmd.wdata[1] = ay;
  31.   
  32.   //打包命令頭
  33.         U1SendData(zigbeeCmd.Order);//1
  34.         U1SendData(zigbeeCmd.ValidDataLen);//2
  35.        
  36.         //打包有效數(shù)據(jù)
  37.   zigbeeCmd.crc = 0;
  38.         for(i=0;i<10;i++)
  39.         {
  40.                 U1SendData(zigbeeCmd.wdata[i]);//8,9,0,0,0,0,0,0,0,0
  41.                 zigbeeCmd.crc += zigbeeCmd.wdata[i];
  42.         }
  43.         //CRC校驗
  44.         U1SendData(zigbeeCmd.crc);//11

  45.         return 0;
  46. }
  47. uint8_t OPEN_LED(void)
  48. {
  49.   uint8_t i,ax=8,ay=9;
  50.   zigbeeCmd.Order = open_LED;
  51.   zigbeeCmd.ValidDataLen = 2;
  52.         zigbeeCmd.wdata[0] = 1;
  53.         zigbeeCmd.wdata[1] = 2;
  54.   
  55.   //打包命令頭
  56.         U1SendData(zigbeeCmd.Order);//2
  57.         U1SendData(zigbeeCmd.ValidDataLen);//2
  58.        
  59.         //打包有效數(shù)據(jù)
  60.   zigbeeCmd.crc = 0;
  61.         for(i=0;i<10;i++)
  62.         {
  63.                 U1SendData(zigbeeCmd.wdata[i]);//1,2,0,0,0,0,0,0,0,0
  64.                 zigbeeCmd.crc += zigbeeCmd.wdata[i];
  65.         }
  66.         //CRC校驗
  67.         U1SendData(zigbeeCmd.crc);//0

  68.         return 0;
  69. }
  70. uint8_t CLOSE_LED(void)
  71. {
  72.   uint8_t i;
  73.   zigbeeCmd.Order = close_LED;
  74.   zigbeeCmd.ValidDataLen = 2;
  75.         zigbeeCmd.wdata[0] = 3;
  76.         zigbeeCmd.wdata[1] = 4;
  77.   
  78.   //打包命令頭
  79.         U1SendData(zigbeeCmd.Order);//1
  80.         U1SendData(zigbeeCmd.ValidDataLen);//2
  81.        
  82.         //打包有效數(shù)據(jù)
  83.   zigbeeCmd.crc = 0;
  84.         for(i=0;i<10;i++)
  85.         {
  86.                 U1SendData(zigbeeCmd.wdata[i]);//3,4,0,0,0,0,0,0,0,0
  87.                 zigbeeCmd.crc += zigbeeCmd.wdata[i];
  88.         }
  89.         //CRC校驗
  90.         U1SendData(zigbeeCmd.crc);//
  91.   return 0;
  92. }

  93. void main()                                                  // 主函數(shù)     
  94. {       
  95.   UartInit();
  96.         while(1)
  97.         {
  98.     if(key1==0)
  99.     {
  100.       DelayMS(5);
  101.       if(key1==0)
  102.       {
  103.         while(!key1);
  104.         zigbeeSendCmd();
  105.       }
  106.     }
  107.     if(key2==0)
  108.     {
  109.       DelayMS(5);
  110.       if(key2==0)
  111. ……………………

  112. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
zigbee串口發(fā)收.rar (92.54 KB, 下載次數(shù): 59)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:361297 發(fā)表于 2019-3-31 17:56 | 只看該作者
兄弟  是不是還有幾個頭文件沒有發(fā)出來
回復

使用道具 舉報

板凳
ID:377872 發(fā)表于 2019-9-27 22:22 | 只看該作者
為什么沒反應呢?
回復

使用道具 舉報

地板
ID:140706 發(fā)表于 2019-12-25 18:40 | 只看該作者
謝謝分享,很好的資源,好好學習中
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表