/*******************************************************************************
 * @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	
}
示例#2
0
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);
	}
}