void clockConfiguration(void) { CS_setExternalClockSource( LF_CRYSTAL_FREQUENCY_IN_HZ, HF_CRYSTAL_FREQUENCY_IN_HZ ); /* * Initialize LFXT crystal oscillator without timeout. In case of failure * the code remains 'stuck' in this function. */ CS_turnOnLFXT( CS_LFXT_DRIVE_0 ); // Set DCO to run at 8MHz CS_setDCOFreq( CS_DCORSEL_1, CS_DCOFSEL_3 ); // Set ACLK to use LFXT as its oscillator source (32KHz) CS_initClockSignal( CS_ACLK, CS_LFXTCLK_SELECT, CS_CLOCK_DIVIDER_1 ); // Set SMCLK to use DCO as its oscillator source CS_initClockSignal( CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 ); // Set MCLK to use DCO as its oscillator source CS_initClockSignal( CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 ); #if DEBUG MCLK = CS_getMCLK(); SMCLK = CS_getSMCLK(); ACLK = CS_getACLK(); __no_operation(); #endif }
void vInitialiseTimerForIntQueueTest( void ) { /* Configure the timer channels. */ MAP_Timer32_initModule( (uint32_t)TIMER32_0_BASE, TIMER32_PRESCALER_1, TIMER32_32BIT, TIMER32_PERIODIC_MODE ); MAP_Timer32_setCount( (uint32_t)TIMER32_0_BASE, CS_getMCLK() / tmrTIMER_0_FREQUENCY ); MAP_Timer32_enableInterrupt( (uint32_t)TIMER32_0_BASE ); MAP_Timer32_startTimer( (uint32_t)TIMER32_0_BASE, false ); MAP_Interrupt_setPriority( INT_T32_INT1, tmrLOWER_PRIORITY ); MAP_Interrupt_enableInterrupt( INT_T32_INT1 ); MAP_Timer32_initModule( (uint32_t)TIMER32_1_BASE, TIMER32_PRESCALER_1, TIMER32_32BIT, TIMER32_PERIODIC_MODE ); MAP_Timer32_setCount( (uint32_t)TIMER32_1_BASE, CS_getMCLK() / tmrTIMER_1_FREQUENCY ); MAP_Timer32_enableInterrupt( (uint32_t)TIMER32_1_BASE ); MAP_Timer32_startTimer( (uint32_t)TIMER32_1_BASE, false ); MAP_Interrupt_setPriority( INT_T32_INT2, tmrHIGHER_PRIORITY ); MAP_Interrupt_enableInterrupt( INT_T32_INT2 ); }