/******************************************************************************* * @fn userAppInit * * @brief user Application init * * @param void * * @return none */ void userAppInit(void) { OLED_Init(); // 电池状态读初始化I2C SMB_Init(); // 串口初始化 bspUartInit(); // 按键初始化要等系统稳定后,防止外部中断引起系统死机 KEY_Init(); //电池状态检测初始化 chargeDetection_Init(); //OLED_ShowString(40,32, "WiCore"); OLED_Clear(); // Create one-shot clocks for internal periodic events. Util_constructClock(&periodicClock_10ms, userApp_clockHandler, 10, 0, false, USER_10MS_EVT); #ifndef INCLUDE_CLKSTOP systemState.powerOffFlag = 1; Util_startClock(&periodicClock_10ms); #else Util_stopClock(&periodicClock_10ms); #endif }
int main( void ) { uint8_t tmpBuff[100]; uint32_t time = 0; // Init clock and IO bspInit(); // Init UART bspUartInit(); // RF_Config(); Relay_Init(); Relay_Off(ROne); LED_API.Init(); // Enable global interrupt __bis_SR_register(GIE); bspUartDataPut("Tra Quang Kieu", 14); time = TWO_HOUR; for(;;) { LED_API.Toggle(LED1); // Relay_Toggle(ROne); // Relay_Toggle(RTwo); if (time == 0) { time = EIGHT_HOUR; Relay_Toggle(ROne); } else { time--; } if (bspUartDataGet(tmpBuff, 10) > 0) { if (memcmp(tmpBuff, "on\n", 3) == 0) { Relay_On(ROne); } else if (memcmp(tmpBuff, "off\n", 4) == 0) { Relay_Off(ROne); } } // bspUartDataPut("Tra Quang Kieu", 14); __delay_cycles(16000000); } }