文档章节

STM32 GPIO口的驱动能力

兔之
 兔之
发布于 2014/02/22 17:00
字数 284
阅读 3366
收藏 3

STM32的输入输出模式有多种,可由下面这两个函数来进行设置。

##Input/Output Mode## <!-- lang: cpp --> typedef enum { GPIO_Mode_IN = 0x00, /*!< GPIO Input Mode / GPIO_Mode_OUT = 0x01, /!< GPIO Output Mode / GPIO_Mode_AF = 0x02, /!< GPIO Alternate function Mode / GPIO_Mode_AN = 0x03 /!< GPIO Analog Mode */ }GPIOMode_TypeDef;

typedef enum
{ 
GPIO_OType_PP = 0x00,
GPIO_OType_OD = 0x01
}GPIOOType_TypeDef;

其中PP代表推挽输出,OD代表开漏输出。那么它们之间有什么区别呢?

当我想在GPIO上接一个电机或者电磁阀的时候,它们能否直接工作?或者当接数字器件时,又该如何设置?

这就需要考虑到GPIO口的驱动能力,按照需求来设置GPIO口的工作模式。

推挽输出——可以输出高,低电平,连接数字器件

开漏输出——输出端相当于三极管的集电极, 要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。

如图所示,开漏输出应该叫做 反逻辑。当Inside Logic给1,外面输出0V;当给0,外面输出VCC。

在此输入图片描述

##Reference## [1].http://bbs.ednchina.com/BLOG_ARTICLE_159008.HTM

© 著作权归作者所有

兔之
粉丝 69
博文 250
码字总数 96477
作品 7
深圳
程序员
私信 提问
STM32学习笔记-点亮第一个led

首先感谢河北科技大学航模协会-能给我这样的学习机会-感谢那些带我们教我们的学长学姐们. 点亮第一个led灯之前要先大概了解一下单片机的工作方式并且有一定的编程基础,能看懂程序 单片机上有...

qq_18984151
2018/03/18
0
0
linux 小项目开发-1-概括和start(linux-SPI驱动小结)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/xiaoxilang/article/details/98345084 项目的要求:环境温度的检测和...

xiaoxilang
08/22
0
0
stm32的IO模式说明

一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个...

peng_258
2017/10/24
0
0
STM32中GPIO的八种工作模式

每次做项目,针对硬件工程师给出的电路图,都需要选择不同的GPIO模式,没有深究,总是记不住。以下为记录的资料,方便之后查阅。 对于GPIO的配置种类有8种: (1)GPIOModeAIN 模拟输入 (2...

qq_34660409
2018/05/05
0
0
STM32GPIO外部中断总结

1 STM32中断分组 STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处。STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,P...

dp29sym41zygndvf
2017/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解答二进制求和

思路:创建一个新的字符串,用于记录原两个字符串每位相加的结果。 1、因为是从左到右计算,所以要把字符串先进行反转,用reverse()方法。 2、字符串对齐,采用补零的方法。 3、计算的时候...

无名氏的程序员
32分钟前
4
0
JSONUtils

package com.demo.utils;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Tr......

任梁荣
33分钟前
5
1
在jest中配置typescript

测试是报错: Property 'assign' does not exist on type 'ObjectConstructor' NodeJS已经是最新版了,但道理不需要polyfill。 然后发现是typescript的lib没有"es2015.core",说明ts-jest没有......

linsk1998
33分钟前
3
0
Redis实现分布式文件夹锁

缘起 最近做一个项目,类似某度云盘,另外附加定制功能,本人负责云盘相关功能实现,这个项目跟云盘不同的是,以项目为分配权限的单位,同一个项目及子目录所有有权限的用户可以同时操作所有...

逸竹小站
43分钟前
3
0
Andorid SQLite数据库开发基础教程(2)

Andorid SQLite数据库开发基础教程(2) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库。...

大学霸
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部