void setupClock(void) { /* Disconnect the Main PLL if it is connected already */ if (Chip_Clock_IsMainPLLConnected()) { Chip_Clock_DisablePLL(SYSCTL_MAIN_PLL, SYSCTL_PLL_CONNECT); } /* Disable the PLL if it is enabled */ if (Chip_Clock_IsMainPLLEnabled()) { Chip_Clock_DisablePLL(SYSCTL_MAIN_PLL, SYSCTL_PLL_ENABLE); } /* Enable the crystal */ if (!Chip_Clock_IsCrystalEnabled()) Chip_Clock_EnableCrystal(); while(!Chip_Clock_IsCrystalEnabled()) {} /* Set PLL0 Source to Crystal Oscillator */ Chip_Clock_SetCPUClockDiv(0); Chip_Clock_SetMainPLLSource(SYSCTL_PLLCLKSRC_MAINOSC); /* FCCO = ((19+1) * 2 * 12MHz) / (0+1) = 480MHz */ Chip_Clock_SetupPLL(SYSCTL_MAIN_PLL, 19, 0); Chip_Clock_EnablePLL(SYSCTL_MAIN_PLL, SYSCTL_PLL_ENABLE); /* 480MHz / (3+1) = 120MHz */ Chip_Clock_SetCPUClockDiv(3); while (!Chip_Clock_IsMainPLLLocked()) {} /* Wait for the PLL to Lock */ Chip_Clock_EnablePLL(SYSCTL_MAIN_PLL, SYSCTL_PLL_CONNECT); Chip_SYSCTL_SetFLASHAccess(FLASHTIM_120MHZ_CPU); }
static void initHardware(void) { Chip_SetupXtalClocking(); Chip_SYSCTL_SetFLASHAccess(FLASHTIM_100MHZ_CPU); SystemCoreClockUpdate(); /*====================[PARA MODULO RF]====================*/ Chip_GPIO_WriteDirBit(LPC_GPIO, CE_PIN, 1); //Puerto CE Chip_GPIO_SetPinOutLow(LPC_GPIO, CE_PIN); //Puerto CE InitSPI (); begin(); setPALevel(RF24_PA_LOW); openWritingPipe(&addresses2[0]); openReadingPipe(1,&addresses1[0]); //1Node: Transmite paquetes el tx por este pide (addres) startListening(); /*========================================================*/ // Board_Init(); // Board_LED_Set(0, false); SysTick_Config(SystemCoreClock/1000); //1000 ticks por segundo InitPWM_motores(0); //Función inicialización modulo PWM InitPWM_motores(1); //Función inicialización modulo PWM InitPWM_motores(2); //Función inicialización modulo PWM InitPWM_motores(3); //Función inicialización modulo PWM InitPWM0(); InitGPIO(0); //Llamo función para inicializar GPIO InitGPIO(1); //Llamo función para inicializar GPIO InitGPIO(2); //Llamo función para inicializar GPIO InitGPIO(3); //Llamo función para inicializar GPIO Stop_and_Default(0); //Condiciones iniciales Stop_and_Default(1); //Condiciones iniciales Stop_and_Default(2); //Condiciones iniciales Stop_and_Default(3); //Condiciones iniciales P2_6ER = 1; P2_7ER = 1; P2_8ER = 1; P2_6EF = 1; P2_7EF = 1; P2_8EF = 1; P0_15ER = 1; P0_16ER = 1; P2_9ER = 1; P0_15EF = 1; P0_16EF = 1; P2_9EF = 1; NVIC_SetPriority(EINT3_IRQn,1); //Le pongo la mayor prioridad a la interrupcion NVIC_EnableIRQ(EINT3_IRQn); }
void InitHardware(void) { Chip_SetupXtalClocking(); Chip_SYSCTL_SetFLASHAccess(FLASHTIM_100MHZ_CPU); SystemCoreClockUpdate(); InitI2C(); SysTick_Config(SystemCoreClock/1000); }