예제 #1
0
/****************************************************************************
 *
 * NAME: vInitHardware
 *
 * DESCRIPTION:
 *
 * RETURNS:
 *
 ****************************************************************************/
static void vInitHardware(int f_warm_start) {
	// インタラクティブモードの初期化
	Interactive_vInit();

	// LED's
	vPortAsOutput(PORT_KIT_LED1);
	vPortAsOutput(PORT_KIT_LED2);
	vPortAsOutput(PORT_KIT_LED3);
	vPortAsOutput(PORT_KIT_LED4);
	vPortSetHi(PORT_KIT_LED1);
	vPortSetHi(PORT_KIT_LED2);
	vPortSetHi(PORT_KIT_LED3);
	vPortSetHi(PORT_KIT_LED4);

	if (!f_warm_start && bPortRead(PORT_CONF2)) {
		sAppData.bConfigMode = TRUE;
	}

	// activate tick timers
	memset(&sTimerApp, 0, sizeof(sTimerApp));
	sTimerApp.u8Device = E_AHI_DEVICE_TIMER0;
	sTimerApp.u16Hz = 1;
	sTimerApp.u8PreScale = 10;
	vTimerConfig(&sTimerApp);
	vTimerStart(&sTimerApp);
}
예제 #2
0
void UploadService()
{
    vTimerStart(UPLOAD_TIMEOUT);
    quit = 0;

    resetVar();
    while(!quit)
    {
        if(vTimerTimeOut()) break; //超时跳出

        if(!u8UARTReceive(&ch)) continue; //没有收到数据

        if(!parseChar(ch)) continue; //不是协议包

        pkt = readPacket(&pktLen); //读出一条数据
        if(parseUpload(pkt,pktLen)) //正确的升级数据
        {
            //只要收到正确的升级数据就复位计数器
            vTimerStart(UPLOAD_TIMEOUT);
        }

    }
}
예제 #3
0
파일: Router.c 프로젝트: tsukuba/osd-i-dev1
PRIVATE void vInitHardware(int f_warm_start) {
	// LED's
	vPortAsOutput(PORT_KIT_LED1);
	vPortAsOutput(PORT_KIT_LED2);
	vPortAsOutput(PORT_KIT_LED3);
	vPortAsOutput(PORT_KIT_LED4);
	vPortSetHi(PORT_KIT_LED1);
	vPortSetHi(PORT_KIT_LED2);
	vPortSetHi(PORT_KIT_LED3);
	vPortSetHi(PORT_KIT_LED4);

	// activate tick timers
	memset(&sTimerApp, 0, sizeof(sTimerApp));
	sTimerApp.u8Device = E_AHI_DEVICE_TIMER0;
	sTimerApp.u16Hz = 1;
	sTimerApp.u8PreScale = 10;
	vTimerConfig(&sTimerApp);
	vTimerStart(&sTimerApp);
}