智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7272|回复: 5
打印 上一主题 下一主题

K60超频200M时,使用UART发送数据的波特率最高为多少

[复制链接]

6

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

请问大家的主频设为多少,在200M的情况下,波特率设为多少为宜(就是能稳定发送数据),UART0与UART3的极限波特率有不同吗

137

主题

2197

帖子

1

精华

知名人物

广州穗佳电子科技有限公司飞思卡尔专业店

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
23283

特殊贡献奖章资源大师奖章优秀版主奖章热心会员奖章论坛元老奖章活跃会员奖章优秀会员奖章在线王奖章论坛骨干奖章

QQ
威望
6807
贡献
12964
兑换币
9459
注册时间
2011-6-24
在线时间
1756 小时
2#
发表于 2013-3-29 10:59:00 | 只看该作者
你的200MHZ能稳定运行还是个问题?
回复 支持 反对

使用道具 举报

59

主题

1029

帖子

0

精华

版主

有什么需帮助的?

Rank: 9Rank: 9Rank: 9

积分
15163

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

威望
11088
贡献
1415
兑换币
1728
注册时间
2011-12-18
在线时间
1330 小时
3#
发表于 2013-3-29 11:18:45 | 只看该作者
刚回复那个帖子了,没看到这个。
串口3用的是总线时钟。
所以波特率应该这样计算

//计算波特率
sbr = (uint16)((总线时钟*1000)/(波特率* 16));

//保存UARTx_BDH寄存器中除了SBR的值
temp = UART_BDH_REG(uartptr) & ~(UART_BDH_SBR(0x1F));
UART_BDH_REG(uartptr) = temp |  UART_BDH_SBR(((sbr & 0x1F00) >> 8));
UART_BDL_REG(uartptr) = (uint8)(sbr & UART_BDL_SBR_MASK);

回复 支持 反对

使用道具 举报

6

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
467
贡献
421
兑换币
203
注册时间
2012-3-7
在线时间
77 小时
4#
 楼主| 发表于 2013-3-29 16:01:10 | 只看该作者
jack_channel 发表于 2013-3-29 10:59
你的200MHZ能稳定运行还是个问题?

能运行稳定,但是 set_sys_dividers(0,1,1,3);得该,因为我试过FLEX时钟不能太高,官方要求不能超过25M,我试过30几兆还是可以的,总线时钟,flash时钟也可以用的高一点,我试过100M
回复 支持 反对

使用道具 举报

6

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
467
贡献
421
兑换币
203
注册时间
2012-3-7
在线时间
77 小时
5#
 楼主| 发表于 2013-3-29 16:08:34 | 只看该作者
jack_channel 发表于 2013-3-29 10:59
你的200MHZ能稳定运行还是个问题?

它的稳定性怎么测试呢,我看不到也摸不到,你能教我简单的例子吗,我用流水灯,LPTMR,PIT试过都可以正常工作,您可以教我一个比较好的方法吗,我是新手,没什么经验
回复 支持 反对

使用道具 举报

53

主题

641

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5159

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章在线王奖章

威望
2314
贡献
1085
兑换币
996
注册时间
2012-8-8
在线时间
880 小时
毕业学校
dfzx
6#
发表于 2013-4-24 20:11:20 | 只看该作者
斯馨妍子 发表于 2013-3-29 16:01
能运行稳定,但是 set_sys_dividers(0,1,1,3);得该,因为我试过FLEX时钟不能太高,官方要求不能超过25M, ...

应该是flash的时钟<=25mhz吧???????还是我弄错了???????
f
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 08:05 , Processed in 0.156879 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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