当前位置:网站首页>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
输入复用功能
这里补充一下模拟输出

边栏推荐
- What are the Commonwealth countries
- MySQL cdc jobmanager 中存了哪些比较耗内存的数据呢?
- 使用kalibr標定工具進行單目相機和雙目相機的標定
- A user level thread library based on C language
- 分片信息调哪个参数呢?用的是MySQLsource stream api,不是table api
- 元代理模型可迁移对抗攻击
- 【 OpenGL 】 Random Talk 1. The camera rotates around a point in the space by dragging the mouse
- c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比
- PHP删除目录
- 2022年软件评测师考试大纲
猜你喜欢
![[untitled]](/img/e2/be57a7e22275af59183c50e0710837.png)
[untitled]

Us chips are hit hard again, and Intel may be defeated by TSMC and reduced to the third place in the world

图文带你彻底弄懂MySQL事务原子性之UndoLog

LSB hidden items of stream carrier based on assembly implementation

ICML 2022 | transferable imitation learning method based on decoupling gradient optimization

基于opencv进行双目相机的标定

知道创宇为能源行业资产管理助力,入选工信部2021物联网示范项目

windows平台下的mysql启动等基本操作

SLAM中的子图

A simple but scalable feature normalization method
随机推荐
最高81.98%!超百所“双一流”高校本科深造率公布
A simple but scalable feature normalization method
关于onReachButton 不触发可能原因
About xampp unable to start MySQL database
使用kalibr标定工具进行单目相机和双目相机的标定
iNFTnews | Meta在元宇宙中的后续计划会是什么?
深圳内推 | 深圳计算科学研究院招聘机器学习助理工程师(校招)
卷妹带你学数据库---5天冲刺Day4
Why is informatization ≠ digitalization? Finally someone made it clear
6.26CF模拟赛D:黑白条题题解
贪婪的苹果计划提高iPhone14的价格,这将为中国手机提供机会
Possible reasons for not triggering onreachbutton
Summary of problems during xampp Apache installation
What is the strength of a software testing engineer who can get a salary increase twice a year?
When MySQL RDS is collected using Flink CDC, the datetime type field will be compared with the source table after collection
STM32按键消抖——入门状态机思维
controller、service、dao之间的关系
Calibration of monocular camera and binocular camera with kalibr calibration tool
Advanced MySQL - storage engine
Implement a ThreadLocal by yourself