ZigBee串口获取温湿度光照

ZigBee串口获取温湿度光照

  • 使用大赛的库函数和温湿度光照三合一传感器
  • 添加#include "sht.h"获取温湿度值
  • 使用#include "get_adc.h"获取光照值
#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_int.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_rf.h"
#include "basic_rf.h"
#include "hal_uart.h" 
#include <stdio.h>
#include <string.h>
#include <stdarg.h>

#include "sht.h"
#include "get_adc.h"

/*****点对点通讯地址设置******/

#define RF_CHANNEL                22         // 频道 11~26
#define PAN_ID                    0x3522     //网络id 
#define MY_ADDR                   0x000A     //本机模块地址
#define SEND_ADDR                 0x000B     //发送地址

/**************************************************/
static basicRfCfg_t basicRfConfig;
// 无线RF初始化
void ConfigRf_Init(void)
{
  
    basicRfConfig.panId       =   PAN_ID;
    basicRfConfig.channel     =   RF_CHANNEL;
    basicRfConfig.myAddr      =   MY_ADDR;
    basicRfConfig.ackRequest  =   TRUE;
    while(basicRfInit(&basicRfConfig) == FAILED);
    basicRfReceiveOn();
 
}




/********************MAIN************************/
void main(void)
{
    halBoardInit();//选手不得在此函数内添加代码
    ConfigRf_Init();//选手不得在此函数内添加代码
//初始化
    SHT_Init();
    hal_adc_Init();
    
    float Zhi[3] = {0};
    unsigned char arr[40];
    while(1)
    {
    /* user code start */
      SHT_SmpSnValue(&Zhi[1],&Zhi[2]);
      Zhi[0] = readAdc()*100*(5/2.0);//光照值转换公式
      sprintf(arr," 光照:%.2f \r\n 温度:%.2f \r\n 湿度: %.2f\r\n",Zhi[0],Zhi[1],Zhi[2]);
      halUartWrite(arr,40);//串口输出
      halMcuWaitMs(1000);//延时函数
    /* user code end */
    }
}
posted @ 2022-10-18 09:48  ~内个臣呐~  阅读(380)  评论(0)    收藏  举报