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 */
}
}