STM32F1(32位微控制器)

本文详细介绍了STM32F103C8T6微控制器的关键特性,包括处理器性能、内存、供电选项、外设如中断控制器、定时器、串口通信等,并探讨了不同层次的开发方法。此外,还涉及了电源管理、时钟控制和复位机制等内容。
摘要由CSDN通过智能技术生成

1.stm32

主频:72MKHz

RAM:20K(SRAM)

ROM:64K(Flash)

供电:2.0~3.6V(标准3.3V)

(如果使用5V进行供电则,需要一个稳压芯片,将电压降到3.3V再进行使用)

2.STM32芯片—片上资源(外设)

NVIC 嵌套向量中断控制器:配置优先级不同的中断

SysTick 系统滴答定时器:给操作系统提供定时服务(操作系统:Freertos,UCOS)如果有操作系统,就需要SysTick进行定时来进行任务切换!(可以用这个定时器完成Delay函数的功能)

上述两个是在ARM内核里面的

RCC 复位和时钟控制:对系统的时钟进行控制,使能各模块的时钟。在STM32中其他的外设在上电的时候,默认是没有时钟的;不给时钟的情况下,操作外设是无效的(外设不会操作,降低功耗),我们通过RCC,给这些外设时钟使能,从而操作外设。

GPIO 通用的IO口

AFIO 复用IO口:完成复用功能端口的重定义,还有中断端口的配置

EXTI 外部中断:我们通过配置外部中断,当外部中断引脚有变化(低电平触发,下降沿触发)就可以触发中断,进行操作!

TIM 定时器:高级定时器,通用定时器,基本定时器

通用定时器:中断任务,测频率,生成PWM波形,配置成专用的编码器接口等功能(舵机驱动)

ADC 模数转换器:内置12位的AD转换器(模拟信号分成2^12次方进行分割):IO口可以直接读取IO口的模拟电压值,无需外部连接AD芯片,使用方便。

DMA 直接内存访问:帮助CPU完成搬运大量数据的繁杂任务

USART 同步/异步串口通信:支持异步或者同步串口(异步串口用的多)

I2C通信协议

SPI通信协议

上述的通信协议,STM32内置了控制器,可以用硬件来输出时序波形,使用更高效;也可以通过编码,就像之前一样进行时序的模拟。

CAN通信:用于汽车领域

USB通信:模拟鼠标,模拟通信

RTC 实时时钟:进行时钟显示,可以接备用电池,掉电不丢失,进行进行时钟功能

CRC校验 :数据校验

PWR电源控制:可以让芯片进入睡眠模式,达到省电作用

BKP 备份存储器:是存储器;当系统掉电时,仍可由备用电池保持数据

IWDG 独立看门狗

WWDG 窗口看门狗

上述:当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定。

DAC 数模转换器:可以在IO口直接输出模拟电压(光敏传感器,温度传感器)

SDIO SD卡接口:读取SD存储卡

FSMC 可变静态存储控制器:可以用于扩展内存或者配置成其他总线协议,用于某些硬件操作

USB OTG USB主机接口:可以让STM32作为USB主机读取其他USB设备

我们所使用的芯片:没有后面四个外设

STM32F103C8T6

STM32:基于ARM内核的32位微控制器

F:通用类型

103:产品子系列的增强型

C:引脚个数是48

8:闪存(Falsh)64K

T:封装是LQFP

6:温度范围:-40℃~85℃

AHB 先进高性能总线:挂载最基本的或者性能比较高的外设:RCC(复位和时钟控制)SDIO

AHB和APB的总线协议,总线速度和数据传输格式的差异,需要通过 桥接 来完成数据的转换和缓存

AHB的总体性能比APB高一些

APB:APB2性能比APB1高;APB2一般和AHB同频率:72KHz;APB1:36KHz

APB1:连接一般外设

APB2:连接较为重要的外设

APB2和APB1挂载的外设不一样

DMA:CPU小秘书,搬运数据,反复

DAM:可以拥有和CPU一样的总线控制权,用于访问外设小弟;当需要DMA搬运数据时,外设小弟就会通过请求线发送DMA请求,然后DMA获得总线控制权,对请求的外设小弟进行数据搬运!!(整个过程不需要CPU参与)

STM32:分区供电

在VDD和VSS之间会连接一个滤波电容,保证供电电压稳定(不够就补全)

VBAT接备用电池:3V的纽扣电池,正极接VBAT,负极接GND

备用电池:给RTC实时时钟和备份寄存器服务的

晶振:8KHz,内部通过锁相环倍频,得到72KHz的主频

如何需要RTC实时时钟功能:需要再接32.768KHz的晶振(3,4引脚)(32.768KHz是2^15次方,通过电路的2^15次方分频,就可以生成1s的时间信号,从而完成实时时钟)

复位电路:低电平复位,按下按键的时候,被拉到最低(电容也放电),是低电平进行复位,然后电容逐渐充满,低电平到逐渐高电平;低电平进行复位。

开发方式:

1.基于寄存器:直接通过编码进行配置寄存器,实现功能(最直接,最底层,效率高)

(STM32结构复杂,寄存器太多,直接配置寄存器不现实)

2.基于库函数(标准库):使用ST官方提供的封装好的函数,通过调用这些函数来间接配置寄存器

(STM寄存器封装很好,开发比较有利)

3.基于HAL库:可以用图形化界面快速配置STM32

stm32f10x.h文件是描述STM32外设对应的具体硬件地址,和51的必要头文件一样

system_stm32f10x.c和system_stm32f10x.h文件是配置时钟;STM32主频72KHz,就是system文件里面函数配置的。

内核寄存器描述文件:core_cm3.c和core_cm3.h

启动文件选择:后缀位md.s的文件

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值