智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3347|回复: 3
打印 上一主题 下一主题

[咨询] 请问K60超频200M时,UART波特率应该为多少

[复制链接]

6

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
467
贡献
421
兑换币
203
注册时间
2012-3-7
在线时间
77 小时
跳转到指定楼层
1#
发表于 2013-3-29 09:26:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
我在用K60 内核时钟100M时,uart3波特率为9600,能正确发送数据。超频到200M时,用9600就会乱,我多次试验后,觉得波特率又问题,试了其他的更快或更慢的都不行,已知波特率与外设时钟有关,而外设时钟由void sysinit (void)中的

6

主题

77

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1210
威望
599
贡献
333
兑换币
298
注册时间
2013-1-11
在线时间
139 小时
毕业学校
东华大学
2#
发表于 2013-3-29 09:57:18 | 只看该作者
115200
回复

使用道具 举报

59

主题

1029

帖子

0

精华

版主

有什么需帮助的?

Rank: 9Rank: 9Rank: 9

积分
15163

热心会员奖章论坛元老奖章优秀会员奖章在线王奖章

威望
11088
贡献
1415
兑换币
1728
注册时间
2011-12-18
在线时间
1330 小时
3#
发表于 2013-3-29 11:12:16 | 只看该作者
本帖最后由 洋葱圈 于 2013-3-29 11:19 编辑

你用的库还是自己写的驱动呢,一般用库的话直接改内核频率,串口时钟会自动计算的。调到150试试。
已在你的前一个帖子回复。
回复

使用道具 举报

6

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
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设置的为什么不同


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 03:05 , Processed in 0.227229 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表