你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
关于stm外部时钟引脚是否需要开时钟
[复制链接]
七尺大儒
提问时间:2018-4-6 12:04 /
在使用stm32f103的时候,突然有一个疑问。如果采用外部晶振,那么外部晶振需要接pd0和pd1两个引脚,那么问题来了,我们的程序中到底需不需开启gpiod的时钟。在stm32cubemx生成的代码中默认开启gpiod的时钟,但是在自己使用寄存器编程的时候,没有对gpiod时钟使能。这是我之前错了,还是stm32cubemx的一个bug。
赞
0
收藏
0
评论
3
分享
发布时间:2018-4-6 12:04
举报
请先
登录
后回复
3个回答
feixiang20
回答时间:2018-4-8 03:02:53
a0a.1 0b0c
STM32启动时默认为内部RC震荡所以在使用的时候,首先要对时钟进行初始化等待外部晶振稳定后然后才对外部晶振进行分频或者倍频最后才是对APB总线时钟及模块时钟进行配置。无论是外部还是内部时钟,都会经过分频或倍频最后得到外设的时钟,这样外设才能正常运行。而打开时钟就是允许接收分频后的频率。可以去参考STM32学习笔记——OLED屏的文章。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
1
评论
回复
支持
1
反对
0
七哥
回答时间:2018-4-6 23:03:51
a0a.1 0b0c
本帖最后由 toofree 于 2018-4-6 23:04 编辑
__HAL_RCC_GPIOD_CLK_ENABLE();
这条不用理会,不需要开时钟。
有可能是用了外部时钟,在STM32CubeMX下PD0、PD1管脚变绿了,它自作聪明给你开启GPIOD时钟的。
实际上这两个管脚主功能是OSC_IN、OSC_OUT。什么是主功能,就是人家本身就是作为时钟功能用的,跟GPIO没半毛钱关系。只是由于管脚少,留了一手,在外部时钟功能不用的情况,这两个管脚可以用作PD0、PD1。
跟JTAG口是一个道理,JTAG口的管脚也可以用作GPIO,但主功能是JTAG,JTAG连接的时候,没有人会认为开启了GPIO的时钟吧。
评分
参与人数
2
ST金币
+2
蝴蝶豆
+3
收起
理由
zero99
+ 3
MrJiu
+ 2
很给力!
查看全部评分
赞
1
评论
回复
支持
1
反对
0
wudianjun2001
回答时间:2018-4-7 08:23:39
a0a.1 0b0c
你这两个引脚做IO口用的话肯定是要开时钟的,不用的话开了也不会有影响的
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
评分
查看全部评分
__HAL_RCC_GPIOD_CLK_ENABLE();
这条不用理会,不需要开时钟。
有可能是用了外部时钟,在STM32CubeMX下PD0、PD1管脚变绿了,它自作聪明给你开启GPIOD时钟的。
实际上这两个管脚主功能是OSC_IN、OSC_OUT。什么是主功能,就是人家本身就是作为时钟功能用的,跟GPIO没半毛钱关系。只是由于管脚少,留了一手,在外部时钟功能不用的情况,这两个管脚可以用作PD0、PD1。
跟JTAG口是一个道理,JTAG口的管脚也可以用作GPIO,但主功能是JTAG,JTAG连接的时候,没有人会认为开启了GPIO的时钟吧。
评分
查看全部评分
评分
查看全部评分