/* Enables or Disables Timer CRR preload function. 
The  */
void TimerCHCRRPreloadConfigure(unsigned long ulBase, unsigned long ulChannel, unsigned long ulProload)
/* Enables or Disables Timer CRR preload function. 
The  */
void TimerCHCRRPreloadConfigure(unsigned long ulBase, unsigned long ulChannel, unsigned long ulProload)
{
    xASSERT((ulBase == TIMER1_BASE) || (ulBase == TIMER0_BASE));
    xASSERT((ulChannel == TIMER_CH_0) || (ulChannel == TIMER_CH_1) ||
            (ulChannel == TIMER_CH_2) || (ulChannel == TIMER_CH_3));
    xASSERT((ulProload == TIMER_CRR_PROLOAD_IMM) || 
            (ulProload == TIMER_CRR_PROLOAD_UD));
    if(ulProload == TIMER_CRR_PROLOAD_IMM)
    {
        xHWREG(ulBase + TIMER_CH0OCFR + 4 * ulChannel) |= TIMER_CH0OCFR_CH0PRE; 
    }
    else
    {
        xHWREG(ulBase + TIMER_CH0OCFR + 4 * ulChannel) &= ~TIMER_CH0OCFR_CH0PRE;
    }
}