int32_t Myadi_gpio_Init(void) //此处根据程序中用到的外部callback函数的多少进行内存分配,具体修改MYADI_GPIO_CALLBACK_MEM_SIZE { int32_t result = 0; static uint8_t gpioMemory[MYADI_GPIO_CALLBACK_MEM_SIZE]; static uint32_t gpioMaxCallbacks; /* init the GPIO service */ result = adi_gpio_Init( (void*)gpioMemory, MYADI_GPIO_CALLBACK_MEM_SIZE, &gpioMaxCallbacks); return result; }
int main(void) { /* Clock initialization */ SystemInit(); /* test system initialization */ test_Init(); //adi_gpio_OutputEnable(EN_5V, true); //adi_gpio_SetHigh(EN_5V); /* SWITCHED TO LOW POWER MODE - ACTIVE MODE */ pwrResult = adi_pwr_EnterLowPowerMode(ADI_PWR_MODE_ACTIVE,NULL,0x00); //Low Power Active mode DEBUG_RESULT("\n Failed to enter active mode %04d",pwrResult,ADI_PWR_SUCCESS); /* BUCK CONVERTER ENABLED TO REDUCE POWER */ adi_pwr_EnableHPBuck(true); NUM_FAN_500MS_CYCLES = fanOnTime/0.5;//Number of 500ms cycles equals ratio of given fanOnTime to 0.5 do { if(ADI_PWR_SUCCESS != adi_pwr_Init()) { DEBUG_MESSAGE("Failed to intialize the power service\n"); break; } if(ADI_PWR_SUCCESS != adi_pwr_SetLFClockMux(ADI_CLOCK_MUX_LFCLK_LFXTAL)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_EnableClockSource(ADI_CLOCK_SOURCE_HFXTAL, true)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_SetRootClockMux(ADI_CLOCK_MUX_ROOT_HFXTAL)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_EnableClockSource(ADI_CLOCK_SOURCE_LFXTAL,true)) { return(eResult); } if (ADI_PWR_SUCCESS != adi_pwr_SetClockDivider(ADI_CLOCK_HCLK,1)) { DEBUG_MESSAGE("Failed to intialize the power service\n"); } if (ADI_PWR_SUCCESS != adi_pwr_SetClockDivider(ADI_CLOCK_PCLK,1)) { DEBUG_MESSAGE("Failed to intialize the power service\n"); } if(ADI_RTC_SUCCESS !=rtc_Init()) { DEBUG_MESSAGE("\nFailed to initialize RTC device \n"); } if(ADI_GPIO_SUCCESS != adi_gpio_Init(gpioMemory, ADI_GPIO_MEMORY_SIZE)) { DEBUG_MESSAGE("adi_gpio_Init failed\n"); break; } //P0.13 --> LED3 adi_gpio_OutputEnable(LED3, true); //P1.12 --> LED4 adi_gpio_OutputEnable(LED4, true); adi_gpio_OutputEnable(CO_HEATER, true); adi_gpio_OutputEnable(CO_SENSE, true); adi_gpio_OutputEnable(PM25_LED, true); adi_gpio_OutputEnable(PM25_FAN, true); adi_gpio_OutputEnable(DBG_ST8_PIN, true); adi_gpio_OutputEnable(DBG_ADC_PIN, true); adi_gpio_SetLow(CO_HEATER); adi_gpio_SetLow(CO_SENSE); adi_gpio_SetLow(PM25_LED); adi_gpio_SetLow(PM25_FAN); adi_gpio_SetLow(DBG_ADC_PIN); adi_gpio_SetHigh(LED3); adi_gpio_SetHigh(LED4); ADC_Setup(); adi_tmr_Open(TIMER_DEVICE_1,aDeviceMemory1,ADI_TMR_MEMORY_SIZE,&hDevice1); adi_tmr_RegisterCallback( hDevice1, GPTimer1Callback ,hDevice1); adi_tmr_SetPrescaler(hDevice1, ADI_GPT_PRESCALER_256); adi_tmr_SetLoadValue( hDevice1, GPT1_LOAD_1SEC); DEBUG_MESSAGE("AQ Sensor initializing!\n"); }while(0); do {} while(1); }
int main(void) { /* Clock initialization */ SystemInit(); /* test system initialization */ test_Init(); //adi_gpio_OutputEnable(EN_5V, true); //adi_gpio_SetHigh(EN_5V); do { if(ADI_PWR_SUCCESS != adi_pwr_Init()) { DEBUG_MESSAGE("Failed to intialize the power service\n"); break; } if(ADI_PWR_SUCCESS != adi_pwr_SetLFClockMux(ADI_CLOCK_MUX_LFCLK_LFXTAL)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_EnableClockSource(ADI_CLOCK_SOURCE_HFXTAL, true)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_SetRootClockMux(ADI_CLOCK_MUX_ROOT_HFXTAL)) { return(eResult); } if(ADI_PWR_SUCCESS != adi_pwr_EnableClockSource(ADI_CLOCK_SOURCE_LFXTAL,true)) { return(eResult); } if (ADI_PWR_SUCCESS != adi_pwr_SetClockDivider(ADI_CLOCK_HCLK,1)) { DEBUG_MESSAGE("Failed to intialize the power service\n"); } if (ADI_PWR_SUCCESS != adi_pwr_SetClockDivider(ADI_CLOCK_PCLK,1)) { DEBUG_MESSAGE("Failed to intialize the power service\n"); } if(ADI_RTC_SUCCESS !=rtc_Init()) { DEBUG_MESSAGE("\nFailed to initialize RTC device \n"); } if(ADI_GPIO_SUCCESS != adi_gpio_Init(gpioMemory, ADI_GPIO_MEMORY_SIZE)) { DEBUG_MESSAGE("adi_gpio_Init failed\n"); break; } //P0.13 --> LED3 adi_gpio_OutputEnable(LED3, true); //P1.12 --> LED4 adi_gpio_OutputEnable(LED4, true); adi_gpio_OutputEnable(CO_HEATER, true); adi_gpio_OutputEnable(CO_SENSE, true); adi_gpio_OutputEnable(PM25_LED, true); adi_gpio_OutputEnable(PM25_FAN, true); adi_gpio_OutputEnable(DBG_ST8_PIN, true); adi_gpio_OutputEnable(DBG_ADC_PIN, true); adi_gpio_SetLow(CO_HEATER); adi_gpio_SetLow(CO_SENSE); adi_gpio_SetLow(PM25_LED); adi_gpio_SetLow(PM25_FAN); adi_gpio_SetLow(DBG_ADC_PIN); adi_gpio_SetHigh(LED3); adi_gpio_SetHigh(LED4); ADC_Setup(); adi_tmr_Open(TIMER_DEVICE_1,aDeviceMemory1,ADI_TMR_MEMORY_SIZE,&hDevice1); adi_tmr_RegisterCallback( hDevice1, GPTimer1Callback ,hDevice1); adi_tmr_SetPrescaler(hDevice1, ADI_GPT_PRESCALER_256); adi_tmr_SetLoadValue( hDevice1, GPT1_LOAD_1SEC); DEBUG_MESSAGE("AQ Sensor initializing!\n"); }while(0); do {} while(1); }