完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先来总结一下 STM32 操作 I/O 口的步骤(以精英板为例):
① 使能 I/O 口时钟,调用函数为RCC_APB2PeriphClockCmd(); ② 初始化 I/O 参数,调用GPIO_Init(); ③ 操作 I/O 口 看了STM32操作 I/O 口的步骤,是不是一头雾水,因为我们以前学习51单片机的时候,根本没有这么麻烦,I/O 想输入就直接读,想输出就直接赋值,串口、AD转化、外部中断等等也都是想用就用,不需要单独配置时钟。 51单片机的这种做法确实很方便,不需要有乱七八糟的设置就能让芯片跑起来,但是随之带来的就是所谓的功耗问题。换句话来说就是一些资源根本用不上,但是芯片却还给它分配资源,即增加了芯片的负担,又浪费了资源。 随着电子产品集成度越来越高,如果还用51单片机的那套,功耗和发热越来越严重,芯片厂商非常无奈也在开始想办法避免这个问题,而最直接的思路当然就是用多少功能就使能多少功能,对每个外设的时钟都设置了开关,让用户可以精确地控制,关闭不需要的设备,达到节省供电的目的。我们学51单片机就知道,单片机之所以能够单独工作,就是因为他又独立的时钟(晶振),那如果想关闭某些功能,就直接关闭它的时钟就好了,所以就出现了这么多的时钟和IO配置。 最后总结就是,默认情况下这些时钟都是disable的。你要使用它,当然需要enable了。 寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值,这样寄存器才能工作。只不过,在51单片机一个时钟系统把一切都包了,在STM32中,我们很明确地做好了分工,让大家各司其职,其实这样还有一个好处就是,不是每个外设都需要系统时钟那么高的频率,就像是高射炮打蚊子一个道理。 |
|
|
|
只有小组成员才能发言,加入小组>>
23587个成员聚集在这个小组
加入小组1062 浏览 1 评论
1217 浏览 1 评论
12619 浏览 0 评论
6000 浏览 3 评论
17795 浏览 6 评论
1079浏览 1评论
1100浏览 1评论
40mR/650V SiC 碳化硅MOSFET,替代30mR 超结MOSFET或者20-30mR的GaN!
506浏览 1评论
1063浏览 1评论
5798浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-11 08:53 , Processed in 0.644879 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191