学号:14020520011 姓名:孟天玉
【嵌牛导读】:基于STM32的单片机部分基础学习
【嵌牛鼻子】:学习笔记、单片机、STM32
【嵌牛提问】:STM32有哪些基础模块?能实现什么功能?
【嵌牛正文】:
一.GPIO
GPIO中文简称“通用I/O口”,是芯片内部资源访问外界的通道,I/O口可以通过软件自定义实现不同的功能复用。
STM32F103共有112个通用I/O口,他们分为7组:PA~PG,每组16根线。其中一部分I/O口是专用的,但大部分可以进行复用。
二.GPIO工作方式
STM32的GPIO非常强大,共有4种输入和4种输出方式。
输入方式:浮空输入,上拉输入,下拉输入,模拟输入
输出方式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能
STM32大部分I/O口兼容5V的TTL电平,这些引脚可以直接与5V器件相连,极大地简化了电路的设计。
一个I/O口主要包含3种电路:输入、输出数据寄存器电路,输入、输出数据驱动电路,ESD静电保护电路。
ESD静电保护二极管作用:如果二极管的上拉电源接到内部的VDD,即内部3.3V,那么该管脚不兼5V TTL电平;反之如果接的是VDD-FT,即内部5V,该管脚兼容5V TTL电平,这就解释了带FT标记的引脚可以兼容5V电平的原因。
下面是各种模式的说明:
1. 浮空输入模式:
此输入的最大特点是MCU读到的引脚状态完全随外部I/O口电平变化,一般用于按键输入。
2. 上拉输出模式:
此模式干扰能力强,适合接地信号的输入。与浮空模式不同在于I/O端口与TTL施密特触发器间接入了30K~50K的上拉电阻,提高了噪声容限。
3. 下拉输入模式
于I/O端口与TTL施密特触发器间接入了30K~50K的下拉电阻,适合有效信号为高电平值信号的接入。
4. 模拟输入模式:
此模式是将I/O口上的信号作为模拟信号直接输到STM32内部的ADC上,进行采样转换。
5. 开漏输出模式
开漏输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适用于电流型的驱动。此模式下I/O端口可以实现双向通信口功能。
此模式有以下特点:
(1)电平匹配:用来匹配外部不同的电平传输,只需改变外部上拉电源的电压,就可以输出用户自定义的电平值。
(2)线与功能:容易实现多个I/O口的“线与”功能,只要将这些I/O口连接在一起,加上上拉电阻即可。线与逻辑:即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。
6. 开漏复用输出模式
此模式与开漏输出模式不同点在于:“输入控制电路”的输入端接的是STM32内部的特定功能外设。
7. 推挽式输出模式
此模式下I/O可以输出高、低电平。本质是两个三极管分别受两个互补信号控制,同一时刻只有一个三极管导通,另一个截止。
8. 推挽复用输出模式
此模式与推挽模式区别为:“输入控制电路”的输入端接的是STM32内部的外设电路。
而开漏输出与推挽输出异同可由下图看出: