当前位置:网站首页>0基础自学STM32(野火)——使用寄存器点亮LED——GPIO功能框图讲解
0基础自学STM32(野火)——使用寄存器点亮LED——GPIO功能框图讲解
2022-06-29 16:58:00 【Fecter11】

我手上使用的是野火的stm32zet6(霸道开发板)总共144个引脚,而stm32vet6(指南者开发板)是100个引脚。
注意GPIO可不是引脚,引脚包含GPIO。
引脚比如VCC,GND,CLK等等
那么如何查看引脚的功能?
找到官方的数据手册
pin definition 就是引脚的定义
high density 高密度

比如上面两个常用的串口



从右往左看
首先是保护二极管,以上侧的二极管为例,如果输入电压高于vdd二极管导通,将IO电压钳位在3.3V+钳位电压的范围,从而保护了输入。
举例子:
如果我们要接一个电机,电机的启动产生反电动势,瞬时的导致二极管还没动作,从而损伤到IO。
另外启动的时候的电流也非常的大。
所以我们接电机要注意。一定要接一个驱动电路去隔离。
推挽输出:
我们操作的是

每4个位控制一个GPIO
那具体怎么输出0或1的??
通过操作输出控制寄存器(ODR)来控制MOS输出3.3v或0v。


建议先搞懂MOS管N管和P管的导通条件。
下图为输出高电平的电流流向,对外输出,相当于推。这又被称为灌电流,向负载灌入电流。
下图为输出低电平的电流流向,相当于拉。这又被称为拉电流。
MOS管的内阻非常小,推挽电流能达到25ma,是比较大的。
下面介绍开漏输出
开漏输出只能输出低电平

开漏输出的意义在哪里?
比如我们通过IO外接一个5v的外设,我们只需要外接给一个上拉VDD改为5V就可以做到电平匹配。
说明一下,上面大多用的是MOS管
互补信号,就是1/0

输出数据寄存器对应的就是ODR
我们可以直接操作输出数据寄存器实现输出1/0
也可以间接通过为设置/清除寄存器的写操作来控制数据输出寄存器来输出1/0
bit set / reset register这就是BSRR
低16位为set置1
高16位为rest清0
这就是说如果我们对BS0和BR0都写1,实际输出的以BS0为准还是1
还有一个寄存器也可以实现ODR输出清零的操作



Input data register输入数据寄存器


这个上拉和下拉是由BSRR寄存器控制的(视频在这部分我没能完全理解具体的实现方式,等后面用的时候再说)
我们的IO输入时3.3v我们读到寄存器的只能是1/0。而施密特触发器,就相当于一个门(我认为就是“门槛”),高于2v认为是高电平,输出1,低于1.2v就输出0
输入复用功能
这里补充一下模拟输出

边栏推荐
- 关于XAMPP无法启动mysql数据库
- 2022年软件评测师考试大纲
- 代码大全读后感
- 6.25AtCoderABC257E - Addition and Multiplication 2题解
- 可转债策略之---(摊饼玩法,溢价玩法,强赎玩法,下修玩法,双低玩法)
- 【无标题】
- 数学知识:求组合数 II—求组合数
- curl: (56) Recv failure: Connection reset by peer
- Inheritablethreadlocal resolves message loss during message transmission between parent and child threads in the thread pool
- InheritableThreadLocal 在线程池中进行父子线程间消息传递出现消息丢失的解析
猜你喜欢

函数计算异步任务能力介绍 - 任务触发去重

curl: (56) Recv failure: Connection reset by peer

为防止被00后整顿,一公司招聘要求员工不能起诉公司

controller、service、dao之间的关系

元代理模型可迁移对抗攻击

How to configure logback? 30 minutes for you to thoroughly learn the code to stay up late and knock

NAACL 2022 | 机器翻译SOTA模型的蒸馏

如何配置 logback?30分鐘讓你徹底學會代碼熬夜敲

Why is informatization ≠ digitalization? Finally someone made it clear

知道创宇为能源行业资产管理助力,入选工信部2021物联网示范项目
随机推荐
AI and creativity
Simulink仿真模式
C语言微博用户管理系统
【R语言数据科学】:文本挖掘(以特朗普推文数据为例)
Leetcode 984. 不含 AAA 或 BBB 的字符串(网友思路)
PHP删除目录
It's also a test. Why do others get an annual salary of 30w+?
What are the advantages of SaaS services
Greedy Apple plans to raise the price of iphone14, which will provide opportunities for Chinese mobile phones
LSB hidden items of stream carrier based on assembly implementation
InheritableThreadLocal 在线程池中进行父子线程间消息传递出现消息丢失的解析
Us chips are hit hard again, and Intel may be defeated by TSMC and reduced to the third place in the world
关于onReachButton 不触发可能原因
关于XAMPP无法启动mysql数据库
controller、service、dao之间的关系
Review of mathematical knowledge: curve integral of type I
About xampp unable to start MySQL database
Top the list for 10 consecutive years? What is the "most common" programming language for programmers?
Picture and text show you how to thoroughly understand the atomicity of MySQL transaction undolog
Function calculation asynchronous task capability introduction - task trigger de duplication