void V9_InitEnv(void) { /************ Set port E, PE0 as Clock out ***********/ WriteMemory(REG_PCONE, 0x1556a); WriteMemory(REG_PDATE, 0x1ff); WriteMemory(REG_PUPE, 0x6); /************ Set port G, GP3 as EINT3 ***********/ WriteMemory(REG_PCONG, 0x54c0); WriteMemory(REG_PDATG, 0xff); WriteMemory(REG_PUPG, 0x0); //BusInit(BUS_IDX_4, BUS8); //V938 use bus4 BusInit(BUS_IDX_3, BUS8); //V938 use bus3 ResetV9Chip(); Lm4867ShutDown(0); SetPortCall(3, _ISR_V9IntHandle); ExtInt_Init(EXINT3); //v938 use exint3 /******************* start 938 clock *****************/ V9_CtrlSetPll(V938_DEFAULTMCLK); V9_CtrlStartClk(CTRL_PLL_WORK_MODE); }
int main (void) { u8 KeyPadVal,Toggle_3=0,Toggle_2=0,Toggle_1=0,SwitchPin; DIO_VoidInit(); ExtInt_Init(); Timer_VoidInit(); ExtInt_EnableGlobalInt(); //ExtInt_voidOverFlowInt0(Toggle); ExtInt_voidSetExtInt0(Toggle); while(1) { DIO_u8ReadPinVal(DIO_u8Pin24,&SwitchPin); if(u8_DebounceSenceHigh(SwitchPin,Pressed) == Pressed) { DIO_u8WritePinVal(ExternaInterruptZeroPin,TurnOn); } else DIO_u8WritePinVal(ExternaInterruptZeroPin,TurnOff); TotalTimeInMile=Timer_u16Count1mile(); KeyPadVal=KeyPad_StructRead(); if(KeyPadVal!=KeyPad_u8NoPressed) { KeyPadVal_2=KeyPadVal; //PORTB=KeyPadVal_2 ; } else; if(TotalTimeInMile>=250) { if(Led_1==FiredInterrupt) { if(ToggleLed1==FirstPressed) { DIO_u8WritePinVal(FirstLed,Toggle_1^=1); } else DIO_u8WritePinVal(FirstLed,TurnOff); } else; if(Led_2==FiredInterrupt) { if(ToggleLed2==FirstPressed) { DIO_u8WritePinVal(SecondLed,Toggle_2^=1); } else DIO_u8WritePinVal(SecondLed,TurnOff); } else ; if(Led_3==FiredInterrupt) { if(ToggleLed3==FirstPressed) { DIO_u8WritePinVal(ThirdLed,Toggle_3^=1); } else DIO_u8WritePinVal(ThirdLed,TurnOff); } else; Timer_u16ResetCounter(); Timer_u16ResetTotalTime(); } else; } return 0; }