这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 新塘的120片子,cksel1寄存器是使能外设时钟用的,要是取消外设的时钟,怎办

共1条 1/1 1 跳转至

新塘的120片子,cksel1寄存器是使能外设时钟用的,要是取消外设的时钟,怎办?

助工
2011-09-26 11:36:30     打赏
RT

看源码,只有设置外设时钟的代码,如:刚设置TMR3_S,又设置TMR1_S,这个时候TMR3_S位被赋值为0.如下面的代码
    DrvSYS_SelectIPClockSource(E_SYS_TMR0_CLKSRC, 0);    
    DrvSYS_SelectIPClockSource(E_SYS_TMR1_CLKSRC, 0);
    DrvSYS_SelectIPClockSource(E_SYS_TMR2_CLKSRC, 0);
    DrvSYS_SelectIPClockSource(E_SYS_TMR3_CLKSRC, 0);

函数DrvSYS_SelectIPClockSource(******)如下
int32_t DrvSYS_SelectIPClockSource(E_SYS_IP_CLKSRC eIpClkSrc, uint8_t u8ClkSrcSel)
{
    
    switch(eIpClkSrc)
    {
        case E_SYS_FRQDIV_CLKSRC:  
            SYSCLK->CLKSEL2.FRQDIV_S = u8ClkSrcSel;
            break;
        case E_SYS_I2S_CLKSRC:
            SYSCLK->CLKSEL2.I2S_S = u8ClkSrcSel;
            break;
        case E_SYS_PWM67_CLKSRC:  
            SYSCLK->CLKSEL2.PWM67_S = u8ClkSrcSel;
            break;
        case E_SYS_PWM45_CLKSRC:
            SYSCLK->CLKSEL2.PWM45_S = u8ClkSrcSel;
            break;
        case E_SYS_PWM23_CLKSRC:  
            SYSCLK->CLKSEL1.PWM23_S = u8ClkSrcSel;
            break;
        case E_SYS_PWM01_CLKSRC:
            SYSCLK->CLKSEL1.PWM01_S = u8ClkSrcSel;
            break;
        case E_SYS_UART_CLKSRC:
            SYSCLK->CLKSEL1.UART_S = u8ClkSrcSel;
            break;
        case E_SYS_TMR3_CLKSRC:
            SYSCLK->CLKSEL1.TMR3_S = u8ClkSrcSel;
            break;
        case E_SYS_TMR2_CLKSRC:
            SYSCLK->CLKSEL1.TMR2_S = u8ClkSrcSel;
            break;
        case E_SYS_TMR1_CLKSRC:
            SYSCLK->CLKSEL1.TMR1_S = u8ClkSrcSel;
            break;
        case E_SYS_TMR0_CLKSRC:
            SYSCLK->CLKSEL1.TMR0_S = u8ClkSrcSel;
            break;
        case E_SYS_ADC_CLKSRC:
            SYSCLK->CLKSEL1.ADC_S = u8ClkSrcSel;
            break;
        case E_SYS_WDT_CLKSRC:
            SYSCLK->CLKSEL1.WDT_S = u8ClkSrcSel;
            break;
        default:
            return E_DRVSYS_ERR_IPSRC;
    }
    
    return E_SUCCESS;
}

倒是GPIO的寄存器倒是按照读,修改,写的方式赋值的/



关键词: 新塘     120片     cksel1     寄存器     使能     外设         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]