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

关系统时钟及编译的问题

[复制链接]
地主斌斌 提问时间: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个回答
wolfgang 回答时间: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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版