STM32---对GPIO电路结构的理解(输出电路)

前一段时间学习了STM32,先是用库函数学了一个星期。发现学完之后,一些基本要用的东西能配出来,但是过程却是十分的懵逼。于是决定暂时放弃库函数,用51的思维学习32,从寄存器开始,发现效果不错。一两天学一两个模块,个把星期下来对一些基本模块的常用寄存器也理解的不少。决定慢慢的回归库函数之前写下自己对STM32一些模块的理解,共勉之。
首先附上GPIO口的内部电路图:
这里写图片描述

其中蓝色方框部分代表的是GPIO的输入电路,红色方框的部分,代表GPIO的输出电路。
可见:
从写入端看输出部分的四种模式分别是:通用推挽输出、通用开漏输出、复用推挽输出、复用开漏输出。
接下来分析输出电路的四种输出形式(数据从“1”或“2”端到 I/O 端口。注意:此时输入电路会被屏蔽【通过寄存器配置】):
1、通用推挽式输出:
通过“写操作”到“位设置/清除寄存器”从而改变“输出数据寄存器”,或者直接通过“读/写操作”改变“输出数据寄存器”,后经选择器“4”选择输出的数据源(来自“1”、“2”还是“3”),最后通过“5”输出的电平 1 或 0 ,来控制P-MOS和N-MOS的导通或截止。
比如, 当5输出 1 时,P-MOS导通,N-MOS截止,则输出到 I/O 端口的电压为VDD(高);当5输出上端为 0 ,P-MOS截止,N-MOS导通,则输出到 I/O 端口的电压被拉低

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值