找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2497|回复: 0
打印 上一主题 下一主题
收起左侧

带你走进STM32的世界

[复制链接]
跳转到指定楼层
楼主
STM32F10xx时钟系统框图:时钟是整个系统的脉搏

下图是STM32F10xx时钟系统的框图,通过这个图可以一目了然地看到各个部件时钟产生的路径,还可以很方便地计算出各部分的时钟频率。
STM32的四个时钟源(HSI、HSE、LSI和LSE)也在图中标出;图中间的时钟监视系统(CSS)是在很多ST7的单片机中就出现的安全设置。特别注意:图的右边,输出定时器时钟之前有一个乘法器,它的操作不是由程序控制的,是由硬件根据前一级的APB预分频器的输出自动选择,当APB预分频器的分频因子为1时,这个乘法器无作用;当APB预分频器的分频因子大于1时,这个乘法器做倍频操作,即将APB预分频器输出的频率乘2,这样可以保证定时器可以得到最高的72MHz时钟脉冲。

STM32上很多管脚功能可以重新映射

STM32上有很多I/O口,也有很多的内置外设,为了节省引出管脚,这些内置外设都是与I/O口共用引出管脚,ST称其为I/O管脚的复用功能,相信这点大家都很清楚,因为基本上所有单片机都是这么做的。但不知有多少人知道,很多复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功能的引出脚位是可通过程序改变的。
这一功能的直接好处是,PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。复用功能引出脚的重映射功能所带来的潜在好处是,在你不需要同时使用多个复用功能时,虚拟地增加复用功能的数量。例如,STM32上最多有3个USART接口,当你需要更多UART接口而又不需要同时使用它们时,可以通过这个重映射功能实现更多的UART接口。

下述复用功能的引出脚具有重映射功能:
  - 晶体振荡器的引脚在不接晶体时,可以作为普通I/O口
  - CAN模块
  - JTAG调试接口
  - 大部分定时器的引出接口
  - 大部分USART的引出接口
  - I2C1的引出接口
  - SPI1的引出接口
详细内容请看STM32的技术参考手册。

请务必记住:如果使用了任意一种重映射功能,在初始化和使用之前,一定要打开AFIO时钟。
下图示出了部分复用功能引出脚的重映射结果:

【演示实例】一个在EK-STM32F板子上的RTC作为calender的例子

硬件连接:串口线连至板子的UART-0端口。超级终端设置为:
Bits Per seconds: 115200
Data bits: 8
Parity: none
Stop bits: 1
Flow control Hardware

板子第一次跑这个程序时,进入时间配置。
根据超级终端上的提示,一次输入年,月,日,时,分,秒
(1月就输入01,10月直接输入10;同理3号就输入03)
随后当前的时间就显示到了超级终端上,并且每秒刷新。

没有断电的情况下再跑这个程序,由于看到bake up区域有被设置过时间的标志,不再进入时间设置阶段,而是直接到时间显示间断,在超级终端上,每秒刷新。

当然如果在EK-STM32F板子上将Vbat和电池相接,具体就是:将红色的电源跳线帽中的从下往上数的第5个取下,从原来的水平放置改成竖直放置(和上面的VBAT相连)。就算断电,只要再上电,看到back up区域中的记号,一样直接进入时间显示。因为断电后,back up区域由电池供电,其中记录的记号不会由于系统掉电而消失。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表