32位单片机常见功能模块

一、前言

也是接触32位单片机不久,以前只学习过51,对单片机的组成概念只停留在数据总线,地址总线,ram,rom,各种寄存器,串口,定时器,中断等等。

当接触到32位机的时候,生啃了几天才差不多搞懂了一点基本结构,写一下来加深印象与理解复习。

二、模块概述

核心处理器:Contex-M系列内核(也有其他系列),是单片机的核心,包含了中断控制,调试,运算,总线与总线接口功能的实现电路。

时钟模块:为单片机提供运行时钟,单片机程序运行速率与时钟频率有关。可接入外部时钟频率,也可使用内部时钟。

gpio引脚:把引脚作为单独的模块其实挺奇怪的,但是32位机的引脚寄存器配置,以及arm的架构,还是让我把引脚单独看成模块了。可配置相关寄存器实现不同输入输出模式的选择和使能。

定时计数器:类型不少,基本定时器,只能做定时计数动作,可配置重载与产生中断。通用定时器,好像有比较器,可以输入波形来测量波的频率,也可以配置输出pwm占空比。高级定时器,加了一些死区补偿,互补输出的功能,大多用于驱动电机。

片内flash:程序存储的模块

串口:数据通信方式。

除了以上常见或者说必备的外设模块,还有许多其他外设,比如看门狗,IIC,SPI通信,电源,复位等等,想不起来了,可能有不少漏掉了。

三、引脚复用

单片机引脚资源必然是有限的,不可能在芯片上无限制的添加引脚。所以为了保证各个引脚充分利用,采用了端口复用的方式,让每个io口除了本身拥有的基本gpio功能,还让它复用一个或几个外设的功能引脚,例如将串口通信的rx和tx引脚复用到某个io口上,可以通过配置相关寄存器完成引脚功能的切换。

当然,为了保证灵活性,当我某个需要复用的端口正在被作为普通io口使用时,而硬件线路又没办法修改时,32位单片机还提供了端口重映射功能,让本属于某一端口的复用功能映射到另外的引脚。当然映射不是填空题,而是选择题,重映射可修改的引脚是有规定的,具体查看数据手册,而非随心所欲。

四、单片机程序的烧录运行

首先,程序分两种,一种是名为bootloader的启动程序,一般可以在标准的单片机启动例程函数里有个单片机型号.s的文件,打开后是汇编语言代码。

作用我也不大了解,但就我目前知晓的,它负责启动时的一些初始化配置,包括时钟频率之类的东西,单片机启动后进入bootload初始化系统,之后才跳入main函数执行。

而且,bootload函数好像还和程序烧录下载有关,但目前我还没了解这部分知识,所以也不太清楚。

第二种就是常见的main函数负责单片机整体运行逻辑。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值