static void t16b0_Init(){
int pr = SystemCoreClock / (4 * 1000000) - 1; //12 Mhz - 1 = 11 for prescale
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_9, (IOCON_FUNC2 | IOCON_MODE_PULLUP));//MAT1
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER16_0);
// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER16_0, pr); //PR = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER16_0, 2); //MCR = Reset on MR2
Chip_TIMER_SetMatch(LPC_TIMER16_0, 2, 255); //MR2 = Period 255uS
Chip_TIMER_SetMatch(LPC_TIMER16_0, 1, 1); //MR1 = Duty cycles set on 1
Chip_TIMER_CountWrite(LPC_TIMER16_0, (1<<1)); //PWMC - enable PWM signal on MAT1
Chip_TIMER_Enable(LPC_TIMER16_0); //TCR - and run...
}
static void t16b1_Init(){
int pr = SystemCoreClock / (4 * 1000000) - 1;
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_10, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT1
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER16_1);
// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER16_1, pr); //PR = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER16_1, 2); //MCR = Reset on MR2
Chip_TIMER_SetMatch(LPC_TIMER16_1, 2, 255); //MR2 = Period 255uS
Chip_TIMER_SetMatch(LPC_TIMER16_1, 1, 1); //MR1 = Duty cycles set on 1
Chip_TIMER_CountWrite(LPC_TIMER16_1, (1<<1)); //PWMC - enable PWM signal on MAT1
Chip_TIMER_Enable(LPC_TIMER16_1); //TCR - and run...
}
|