金牌会员
- 积分
- 1042
- 威望
- 467
- 贡献
- 421
- 兑换币
- 203
- 注册时间
- 2012-3-7
- 在线时间
- 77 小时
|
4#
楼主 |
发表于 2013-3-29 16:03:25
|
只看该作者
洋葱圈 发表于 2013-3-29 11:12
你用的库还是自己写的驱动呢,一般用库的话直接改内核频率,串口时钟会自动计算的。调到150试试。
已在你的 ...
我是用的库,请问总线时钟跟外设时钟是什么关系,我理解为外设时钟一般就是总线时钟,可是在系统初始化函数中,sysinit函数中periph_clk_khz = core_clk_khz / (((SIM_CLKDIV1 & SIM_CLKDIV1_OUTDIV2_MASK) >> 24)+ 1);
这不是说periph_clk_khz等于内核时钟的16分频吗?( MK60N512VMD100.h中有定义#define SIM_CLKDIV1_OUTDIV2_MASK 0xF000000u)
而在pll_init又有将总线设为内核时钟的2分频
//MCG=PLL, core = MCG, bus = MCG/2, FlexBus = MCG/2, Flash clock= MCG/4
set_sys_dividers(0,1,1,3);
我注意到了程序中串口时钟可以自动计算,我有个问题就是库中periph_clk_khz跟busclock设置的为什么不同
|
|