OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14581|回复: 16

用12MHZ的外部晶振,串口输出是乱码

[复制链接]

25

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2013-1-4
在线时间
0 小时
发表于 2014-6-7 15:09:50 | 显示全部楼层 |阅读模式
5金钱
我用的是是12MHZ的外部晶振,然后我倍频到72MHZ,我发现使用的串口的时候,串口是乱码,然后又换回8MHZ的晶振也倍频到72MHZ,串口正常,请问这是什么原因,要改什么地方的程序。

最佳答案

查看完整内容[请看2#楼]

 从8M晶振换12M晶振,如果还想是72M时钟,只需要改三个地方: 1、stm32f1x0.h中,#define HSE_VALUE    ((uint32_t)8000000)改为#define HSE_VALUE    ((uint32_t)12000000) 2、system_gd32f1x0.c中,使用48M的那个宏,即改为如下: //#define SYSCLK_FREQ_HSE    HSE_VALUE //#define SYSCLK_FREQ_24MHz  24000000   //#define SYSCLK_FREQ_36MHz  36000 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-7 15:09:51 | 显示全部楼层
 从8M晶振换12M晶振,如果还想是72M时钟,只需要改三个地方:
1、stm32f1x0.h中,#define HSE_VALUE    ((uint32_t)8000000)改为#define HSE_VALUE    ((uint32_t)12000000)
2、system_gd32f1x0.c中,使用48M的那个宏,即改为如下:
//#define SYSCLK_FREQ_HSE    HSE_VALUE
//#define SYSCLK_FREQ_24MHz  24000000  
//#define SYSCLK_FREQ_36MHz  36000000
#define SYSCLK_FREQ_48MHz  48000000
//#define SYSCLK_FREQ_56MHz  56000000
//#define SYSCLK_FREQ_72MHz  72000000
3、如果是在keil中调试下载,工程选项中修改如下,Xtal(MHz)标签旁从8.0改为12.0。


如果楼猪是这么改的,那么既然8M晶振倍频到72M时钟串口收发正常,12M倍频到72M也没有理由出现乱码。
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-7 18:02:48 | 显示全部楼层
把倍频的程序发上来看看,怀疑你用12M晶振倍频不止72M,超频的时候一般会出现串口乱码的情况的。
回复

使用道具 举报

25

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2013-1-4
在线时间
0 小时
 楼主| 发表于 2014-6-7 22:49:07 | 显示全部楼层
是这样的我倍频也是用库函数的,如果8M是选择72M的那个宏定义,12M我就选48M的那个宏定义,因为库函数是以外部是8MHZ为准写的
回复

使用道具 举报

25

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2013-1-4
在线时间
0 小时
 楼主| 发表于 2014-6-7 22:49:30 | 显示全部楼层
回复【2楼】cdshkf:
---------------------------------
是这样的我倍频也是用库函数的,如果8M是选择72M的那个宏定义,12M我就选48M的那个宏定义,因为库函数是以外部是8MHZ为准写的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165535
金钱
165535
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-7 23:32:44 | 显示全部楼层
估计你的倍频设置有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-8 10:06:19 | 显示全部楼层
楼猪可以调试的时候观察RCC的CR和CFGR两个寄存器的值,然后对比用户手册,这样到底是多少主频的时钟不就清楚了吗。
回复

使用道具 举报

25

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2013-1-4
在线时间
0 小时
 楼主| 发表于 2014-6-8 19:41:51 | 显示全部楼层
回复【7楼】cdshkf:
---------------------------------
谢谢,我知道我问了,我是用IAR的,应该是设置界面设置没有改成12MHZ
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-9 09:03:45 | 显示全部楼层
IAR界面好像没有和keil一样的设置晶振的地方,你可以这样设置再看看,如下图:



Defined symbols下面加入这么一句话:HSE_VALUE=((uint32_t)12000000) (尼玛啊截图截错了,你以12000000为准)

回复

使用道具 举报

25

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2013-1-4
在线时间
0 小时
 楼主| 发表于 2014-6-9 22:52:38 | 显示全部楼层
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-3-2
在线时间
0 小时
发表于 2015-4-2 11:49:06 | 显示全部楼层
和你一样的问题,谢谢楼主的解决方法。
扬起你的笑脸 把影子留在身后
回复

使用道具 举报

7

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2013-9-18
在线时间
27 小时
发表于 2015-8-25 11:55:48 | 显示全部楼层
回复【4楼】bluezap:
---------------------------------
您好,请问为什么原来外部8M倍频到72M和12M倍频到48M一样呢,前者的倍频系数为9,后者是怎么回事,请教谢谢
回复

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-25 13:03:09 | 显示全部楼层
回复【12楼】三少爷:
---------------------------------
8M到48M是6倍频,12M到72M也是6倍频
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
38
金钱
38
注册时间
2014-7-13
在线时间
6 小时
发表于 2016-8-24 16:56:58 | 显示全部楼层
各位好。我也是遇到这样的问题。keil的界面里,我设置过了,但是不起作用。
我把电脑端串口的频率设置为开发板上串口的1.5倍就可以正常收发了。我也是为这事烦恼呢。

说明,我用的mdk5的版本,从那个菱形图标(manage run-time environ)里选择外设的。

同样是这个板子,找了老的程序,也是基于库函数的,运行就没问题。只要不是从mdk里选择外设,就ok。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-8-4
在线时间
2 小时
发表于 2016-10-30 15:57:30 | 显示全部楼层
用了楼主的方法解决了,谢谢楼主
无个性 不签名
回复

使用道具 举报

18

主题

148

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1528
金钱
1528
注册时间
2018-11-15
在线时间
292 小时
发表于 2018-12-28 11:13:43 | 显示全部楼层
留个记号,经典贴,好找
回复

使用道具 举报

6

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2018-9-7
在线时间
28 小时
发表于 2020-7-28 16:36:53 | 显示全部楼层
学习一波
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 18:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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