你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关系统时钟及编译的问题

[复制链接]
地主斌斌 提问时间:2017-10-27 11:17 /
一、按照时钟树指示(图1),如果我采用内部时钟HSI经最大的倍频PLLMUL*16后得到的SYSCLK频率应该为:(8M/2)*16=64M,Cortex系统时钟=SYSCLK/8=8M。现在问题来了,这个8M的频率是不是就是我的程序里面int main()主程序中的运行频率呢?如果是的话,我就不能理解了,我以前stm8如果用内部HSI时的main()主程序运行频率都能达到16M,为什么stm32才有8M这么低呢?
5.png
二、我自己用了个stm32f105RB作为主控,打算程序配置一下跑个8M的Cortex系统时钟。1、我把Device的器件改为STM32F105RB。2、按照“RRC.h”文件'#ifndef STM32F10X_CL ',在C/C++的Define把“STM32F10X_CL,”已添加;在编译时,如果我选择倍频为16时系统会报错。我试过只能将倍频改为9才不报错。请问一下是哪个位置没操作好呢?还是说stm32f105RB是定义为CL型互联型器件,这个器件在库上面不允许用户设这么高的倍频?如果库限制了,哪我用寄存器设行吗?
1.png 4.png 2.png 3.png
收藏 3 评论2 发布时间:2017-10-27 11:17

举报

2个回答
wolfgang2015 回答时间:2017-12-13 11:53:00
1、你可以选择使用PLL提供时钟,也可以直接通过HSI提供时钟;怎么算方便看你具体的设置了。
可以参考Cubemx中时钟树的设定;多种方式生成8MHz时钟。只要HCLK是8MHz,基本上总线和外设时钟就是8MHz了。

2、用的还是老的Std库?尝试用HAL/LL库来配置代码呢?可能有些MCU固件库不支持更新了。

评分

参与人数 1ST金币 +4 收起 理由
zero99 + 4

查看全部评分

无薪税绵 回答时间:2017-12-13 13:24:15
单片机的最大频率为72M,
内核8M的情况下:8x9=72M
如果设置为16 ,8x16=128M,
已经超出了,所以编译出错。

评分

参与人数 1ST金币 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版