当前位置: 代码迷 >> Wireless >> zigebee中的传感器代码 求高手解释~解决办法
  详细解决方案

zigebee中的传感器代码 求高手解释~解决办法

热度:298   发布时间:2016-04-28 09:34:38.0
zigebee中的传感器代码 求高手解释~
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();
        }
        
  相关解决方案