Пример #1
0
void	F_LongRestKey(rt_uint8_t keyCode) 
{
		switch(keyCode)
		{
			case	long_stop_rest_KeyVal:
			IWDG_Config(0);	
			while(1)
				break;
		}
}
Пример #2
0
//==============================================================================
//  Sleep 設定 (EUP)
//==============================================================================
void F_Sleep_Init(void)
{
  F_AllLCDRam(0);
  F_Display();
  
  F_1625CS_1(0);
  F_1625WR(0);
  F_1625DATA(0);
  F_BackLight(0);
  F_IncControlUp(0);
  F_IncControlDown(0);
  F_EUP_EEPROM_GPIO();
  // EUP
  //M_ERP_SetHigh;
  M_ERP_SetLow;
  
  EXTI_Config();
  F_ERP_KBSet(); 
  /* Request to enter STOP mode with regulator in low power mode */
  PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
  
  EXTI_DeInit();
  IWDG_Config(0);
}
Пример #3
0
void F_EngineeringMode(void)
{
    rt_uint8_t	keyCode = 0;
    rt_bool_t	LongKeyStartFlg = 0;
    rt_uint32_t e;

    if (rt_event_recv(&sport_timer_event, 0xFFFF,
                      RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
                      RT_WAITING_FOREVER, &e) == RT_EOK)
    {
        if((e & time_20ms_val) == time_20ms_val)
        {
            F_ReadKeyCode(&keyCode,&LongKeyStartFlg,&ui_action.SleepTimer);
            switch(keyCode)
            {
            case	stop_rest_KeyVal:
                IWDG_Config(0);
                while(1)
                    break;
            case	enter_KeyVal:
                F_ChooseMode();
                break;
            case	resistance_up_KeyVal:
                if(LongKeyStartFlg == 0)	{
                    bz_short();
                    ui_action.Event++;
                    if(ui_action.Event>SeatLiftInstallEventVal)
                        ui_action.Event = UnitEventVal;
                }
                break;
            case	resistance_down_KeyVal:
                if(LongKeyStartFlg == 0)	{
                    bz_short();
                    if(ui_action.Event > UnitEventVal)
                        ui_action.Event--;
                    else
                        ui_action.Event = SeatLiftInstallEventVal;
                }
                break;
            }
        }
        //=====================
        if((e & time_100ms_val) == time_100ms_val)
        {
            F_SetDisplayRam(0);
            switch(ui_action.Event) {
            case	UnitEventVal:
                F_ShowUnit();
                break;
            case	VersionEventVal:
                F_ShowSoftwareVersion();
                break;
            case	BeeperTestEventVal:
                F_ShowBeeperTest();
                break;
            case	DisplayTestEventVal:
                F_ShowDisplayTest();
                break;
            case	KeypadTestEventVal:
                F_ShowKeypedTest();
                break;
            case	SeatLiftInstallEventVal:
                F_ShowSeatLiftInstall();
                break;
            }
            F_Display();
        }
    }
}
Пример #4
0
/*主程序*/
void main()
{	
	u8 i = 0;
	
	 /*时钟初始化*/
  	CLK_Config();

#ifdef _IWDG_
	/* Check if the system has resumed from IWDG reset */
	if (RST_GetFlagStatus(RST_FLAG_IWDGF) != RESET)
	{
	  /* Clear IWDGF Flag */
	  RST_ClearFlag(RST_FLAG_IWDGF);
	}

	/* get measured LSI frequency */
	LsiFreq = LSIMeasurment();
	
	/* IWDG Configuration */
	IWDG_Config();
#endif
	
	/*初始化电源控制*/
	GPIO_DeInit(GPIOD);	
	GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_FAST);
	GPIO_DeInit(GPIOC);	
	GPIO_Init(GPIOC,GPIO_PIN_1,GPIO_MODE_OUT_PP_LOW_FAST);	
	
#ifdef __DEBUG__
	/*底板MCU调试串口配置*/
	DBG_Config();
#endif

	/*按键初始化*/
	KEY_Init();

	/*串口初始化*/
	COMM_Init();

	/*遥控器硬件初始化*/
	IR_Init();
	
	/*初始化CAN*/
	CAN_Initialize();

	/*打开全局中断*/
	enableInterrupts();    
	
	/*上电,3.3V/12V*/
	VDD3V3_ON();
	VDD12_ON();


	while (1)
	{
		/*按键检测*/
		KEY_Process();

		/*红外遥控器处理*/
		IR_Process();
		
		/*CAN通信处理*/
		CAN_Process();
		
#ifdef _IWDG_		
		/*独立看门狗喂狗*/
		IWDG_ReloadCounter();  
#endif
	}
		
}