OpenEdv-开源电子网

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

48MHz时钟倍频

[复制链接]

13

主题

201

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2015-4-26
在线时间
173 小时
发表于 2015-12-22 10:36:44 | 显示全部楼层 |阅读模式
5金钱
我用stm32f103c8t6芯片,外接8MHz晶振,然后默认72MHz的时候能用,把时钟倍频至48MHz,串口就不能输出了,怎么回事?
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
 #define SYSCLK_FREQ_24MHz  24000000
#else
/* #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
#endif
直接修改这个就行了??

而且当我修改回去72的时候,下面的程序最后一句报错,需要屏蔽,咋回事?

static void SetSysClock(void)
{
#ifdef SYSCLK_FREQ_HSE
  SetSysClockToHSE();
#elif defined SYSCLK_FREQ_24MHz
  SetSysClockTo24();
#elif defined SYSCLK_FREQ_36MHz
  SetSysClockTo36();
#elif defined SYSCLK_FREQ_48MHz
  SetSysClockTo48();
#elif defined SYSCLK_FREQ_56MHz
  SetSysClockTo56(); 
#elif defined SYSCLK_FREQ_72MHz
  SetSysClockTo72();
#endif
  //SetSysClockTo48();

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-12-22 11:02:06 | 显示全部楼层
类似: http://blog.sina.com.cn/s/blog_4a08d4a90101dwwe.html

辅助参考:http://www.51hei.com/bbs/dpj-35928-1.html
               http://blog.csdn.net/abclixu123/article/details/8265250
我的博客:http://blog.csdn.net/itdo_just
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-12-22 11:05:07 | 显示全部楼层
给你的第二个网址里面拉到最后有提到以下内容‘

我的博客:http://blog.csdn.net/itdo_just
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2015-12-22 11:41:39 | 显示全部楼层
我觉得你程序写的有问题,你的最后一句不需要,只需要把
/* #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
定义48M这句就可以了,你自己写的//SetSysClockTo48();
不需要写
回复

使用道具 举报

13

主题

201

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2015-4-26
在线时间
173 小时
 楼主| 发表于 2015-12-22 11:54:32 | 显示全部楼层
回复【3楼】229382777@qq.com:
---------------------------------
#if !defined  HSE_VALUE
 #ifdef STM32F10X_CL   
  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
 #else 
  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
 #endif /* STM32F10X_CL */
#endif /* HSE_VALUE */

是这样的啊
回复

使用道具 举报

13

主题

201

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2015-4-26
在线时间
173 小时
 楼主| 发表于 2015-12-22 12:00:10 | 显示全部楼层
回复【4楼】三叶草:
---------------------------------
那个不是我写的,为什么我的本来就有。。。
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-12-22 12:24:09 | 显示全部楼层
回复【5楼】康仔呦:
---------------------------------
只是告诉你思路.........你认真看完那三个网站可以自己解决这个问题
我的博客:http://blog.csdn.net/itdo_just
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 16:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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