void main(void)
{
uint8 APP_SEND_DATA_FLAG = 0; //无线定时发送数据标志
uint8 config_flag[1];
float ADC_VALUE; //定义 这个一个接受传感器数据的值
halBoardInit(); //各种初始化
halUartInit(38400);
HalDmaInit();
HalFlashRead(NV_CONFIG_FLAG, 0, config_flag, sizeof(config_flag));
halUartWrite(config_flag,1); //忘串口写个 1个字节的 config_flag变量
if(config_flag[0] == 0xff) //lpc
{
My_Used_Flash_Init(); //zigbee的通讯地址初始化
halUartWrite("##RESET Flash Valuye!##",strlen("##RESET Flash Valuye!##")) ; //复位
}
ConfigRf_Init();
ConfigRf_send_uart(); // 无线发送到串口
HalFlashRead(NV_CONFIG_FLAG, 0, config_flag, sizeof(config_flag)); // LPC
#if (SENSOR_TYPE==1) //条件编译 如果传感器的型号是1-温湿度传感器
connectionreset();
#else
ADC_INIT(); //ADC初始化,用于光电、酒精、可燃气体
#endif
Timer4_Init(); //定时器4初始化,定时器中断一次的时间是(1/250000*256)s,中断1953次约等于2s
Timer4_On(); //打开定时器4
halLedSet(3);
while(1)
{
uRxlen = 0;
memset_buf(uRxData,sizeof(uRxData));
uRxlen = RecvUartData(uRxData,0);
halMcuWaitMs(5);
if(uRxlen > 0)
{
if((uRxData[0] == 0xFF)&&(uRxData[1] == 0xFA))
{
config_flag[0] = 0x02;
}
else if((uRxData[0] == 0xFF)&&(uRxData[1] == 0xFB))
{
config_flag[0] = 0x03;
}
else if((uRxData[0] == 0xFF)&&(uRxData[1] == 0xFC)&&(uRxData[2] == 0xDD)&&(uRxData[3] == 0xEE))
{
halUartWrite(RetEndConmmand,sizeof(RetEndConmmand));
config_flag[0] = 0x0F;
}
}
halMcuWaitMs(5);
if(config_flag[0] == 0x02)
{
Set_RFInfo_Flash();
ConfigRf_Init(); //lpc 无限收发参数的初始化
}
else if(config_flag[0] == 0x03)
{
Read_RFInfo_Flash();
}