周立功easyarm1138开发板用PLL型时钟,6MHZ晶振怎么分频成50MHZ?为什么会这样

38KHZ的方波产生程序语句:
SysCtlLDOSet(SYSCTL_LDO_2_75V); //配置PLL前将LDO电压设置为2.75V
SysCtlClockSet(SYSCTL_USE_PLL | //系统时钟设置,采用PLL
SYSCTL_OSC_MAIN | //主振荡器
SYSCTL_XTAL_6MHZ | //外接6MHz晶振
SYSCTL_SYSDIV_4); //分频结果为50MHz
TimerConfigure(TIMER0_BASE , TIMER_CFG_32_BIT_PER); // 配置定时器为32位周期定时器
TimerLoadSet(TIMER0_BASE , TIMER_A , 658UL); //设置定时器初值
TimerIntEnable(TIMER0_BASE , TIMER_TIMA_TIMEOUT); //使能定时器超时中断
IntMasterEnable(); //使能处理器中断
TimerEnable(TIMER0_BASE , TIMER_A); //使能定时器计数
IntEnable(INT_TIMER0A); //使能定时器中断
说明:系统采用的是PLL型时钟,外接6MHZ晶振,通过4分频,结果变成50MHZ。使用32位定时器来定时,因为要产生38KHZ的方波,每一个周期必须有658个计时,两个周期计时产生一个方波:50000000/38000/2=658。

第1个回答  2011-06-15
从6MHz产生50MHz的clock,肯定要配成相应比例,如6MHz/3=50MHz/25。看是否有相应寄存器可以配置。
相似回答
大家正在搜