STM32为什么必须先配置时钟再配置GPIO?

[复制链接]
18919|23
 楼主| styeven 发表于 2011-8-8 20:17 | 显示全部楼层 |阅读模式
STM32为什么必须先配置时钟再配置GPIO?
如果不配置时钟,或者顺序相反,GPIO将不能输出信号.
还有,时钟在单片机中是处在什么地位?
 楼主| styeven 发表于 2011-8-8 20:17 | 显示全部楼层
求大虾多多指点啊
ploto 发表于 2011-8-9 15:43 | 显示全部楼层
配置时间是指启动RCC中相应的外设时钟?
 楼主| styeven 发表于 2011-8-9 20:47 | 显示全部楼层
我想知道,貌似时钟如果不配置,任何IO口都是不能工作的。不知道单片机内部,时钟是一个什么概念。是不是时钟就是代表晶振的脉冲,然后驱动里面的电路工作?
IJK 发表于 2011-8-10 09:45 | 显示全部楼层
ARM的芯片都是这样,外设通常都是给了时钟后,才能设置它的寄存器(即才能使用这个外设)。STM32、LPC1XXX等等都是这样。
这么做的目的是为了省电,使用了所谓时钟门控的技术。
这也属于电路里同步电路的范畴:同步电路总是需要1个时钟。

评分

参与人数 2威望 +2 收起 理由
wobushixing + 1 赞一个!
styeven + 1

查看全部评分

香水城 发表于 2011-8-10 10:53 | 显示全部楼层
如果LZ真想搞清楚这个问题,建议你找一本有关逻辑电路的书看看。
 楼主| styeven 发表于 2011-8-10 19:08 | 显示全部楼层
6# 香水城
可以参考下。谢谢啦。。
 楼主| styeven 发表于 2011-8-10 19:09 | 显示全部楼层
5# IJK
挺有道理的。感觉如果要彻底理解单片机内部工作原理的话,还需要学很多东西。
lxj19901115 发表于 2011-8-16 22:37 | 显示全部楼层
5楼说的不错,当你想关闭某个IO的时候,关闭它想对应的时钟使能就是了,不过在51里面,在使用IO的时候是没有设置IO的时钟的,还有在STM32中,有外部和内部时钟之分,关于时钟等好好研究
jack821119 发表于 2011-8-17 10:52 | 显示全部楼层
51单片机不用配置IO时钟,只是因为默认使用同一个时钟,这样是方便,但是这样的话功耗就降低不了。
例如,某个功能不需要,但是它还是一直运行。
stm32需要配置时钟,就可以把不需要那些功能的功耗去掉。

评分

参与人数 1威望 +1 收起 理由
阿杜先生 + 1 很给力!

查看全部评分

zsz89757 发表于 2011-10-26 12:28 | 显示全部楼层
stm32的时钟确实够麻烦
香水城 发表于 2011-10-26 16:19 | 显示全部楼层
任何MCU的任何外设都需要有时钟,8051也是如此;STM32为了让用户更好地掌握功耗,对每个外设的时钟都设置了开关,让用户可以精确地控制,关闭不需要的设备,达到节省供电的目的。
baidudz 发表于 2011-10-26 18:21 | 显示全部楼层
找本数电的书应该会有
yinyangdianzi 发表于 2011-10-27 12:13 | 显示全部楼层
这个ARM公司的事了吧
chaofan10 发表于 2012-6-6 09:28 | 显示全部楼层
我昨天就是先配置的GPIO 然后使能时钟  然后配置的UART      出现的现象  调试时 Peripherals  看不到GPIO配置的变化。
寂寞西瓜 发表于 2012-6-8 09:49 | 显示全部楼层
养成习惯就好了,凡事都有步骤和规则
supreme42 发表于 2012-6-11 14:28 | 显示全部楼层
应该是所有寄存器都需要时钟才能配置吧,寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值。
lai832 发表于 2012-6-11 14:39 | 显示全部楼层
时序逻辑电路没有电压,时钟,工作不了.
-----并非指简单的:与/或/非逻辑,时序逻辑是由N多与或非组成.时钟是它们集体/协同工作的基础

没有时钟想让它做的任何事情都是白费劲------先后顺序
dream-yi 发表于 2012-6-11 20:51 | 显示全部楼层
学习了
w王小毛 发表于 2012-6-27 14:52 | 显示全部楼层
嗯 原来用单片机不用管外设时钟,看了这个帖子,明白了stm32的事,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

20

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0