gpio

STM32学习系列之GPIO的八种工作模式

冷暖自知 提交于 2020-01-12 23:55:12
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。 二、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点: 1、利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经上拉电阻、MOSFET到GND。IC内部仅需很小的栅极驱动电流。 2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的速度。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。) 3

STM32的GPIO的8种工作模式

爷,独闯天下 提交于 2020-01-12 23:54:29
GPIO GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。 GPIO 的八种工作模式, (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 上拉输入、下拉输入: 上拉就是使IO口接上拉电阻到VCC了,跟51一样,下拉就是使IO口接下拉电阻到GND了,浮空就是即不接上拉,也不接下拉,这样的话IO默认输入电平不确定,上拉就是输入高电平,然后接一个上拉电阻(起保护作用),在你目前开发学习时,只需要知道上拉就表示该端口在默认情况下输入为高电平,下拉就相反了,指输入接低电平,然后接一个下拉电阻(关于上拉电阻与下拉电阻,设计比较多的数电模电知识,此处就略过,反正其保护电路的作用), 浮空: 顾名思义,就相当与此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多, 推挽输出 : 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制

GPIO的8种工作模式

混江龙づ霸主 提交于 2020-01-12 23:53:48
1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1 2、带上拉输入GPIO_IPU——IO内部上拉电阻输入 3、带下拉输入GPIO_IPD——IO内部下拉电阻输入 4、模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电 5、开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能 6、推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的 7、复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA) 8、复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS) 来源: https://www.cnblogs.com/foggia2004/p/5329330.html

stm32之GPIO(二)

我只是一个虾纸丫 提交于 2020-01-12 23:23:30
  输入上拉:当IO口作为输入时,比如按键输入,而按键是与地连接,按下时为低电平,则没按下时该IO口应为高电平,上拉即是该IO口通过一个电阻与电源相连,则没按下时为高电平,按下即为低电平。 输入下拉:同理此时按键与电源相连,按下即为高电平,下拉就是该IO口通过一个电阻与地相连,没按下为低电平,按下为高电平。    推挽输出:作为普通的IO口输出高低电平   STM32的输入输出管脚有下面8种可能的配置:(4输入、2输出、2复用输出)     1、浮空输入_IN_FLOATING     2、带上拉输入_IPU     3、带下拉输入_IPD     4、模拟输入_AIN     5、开漏输出_OUT_OD     6、推挽输出_OUT_PP     7、复用功能的推挽输出_AF_PP     8、复用功能的开漏输出_AF_OD 上拉:输入高电平,然后接一个上拉电阻(起保护作用),上拉就表示该端口在默认情况下输入为高电平; 浮空:就相当于此端口在默认情况下什么都不接,呈高阻态; 开漏输出:就是不输出电压,低电平时接地,高电平时不接地。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电压电压。这种方式适合在连接的外设电压比单片机电压低的时候; 推挽输出:就是单片机引脚可以直接输出高电平电压,低电平时接地,高电平时输出单片机电源电压。这种方式可以不接上上拉电阻

说说M451例程讲解之LED

走远了吗. 提交于 2020-01-12 23:21:42
/**************************************************************************//** * @file main.c * @version V3.00 * $Revision: 3 $ * $Date: 15/09/02 10:03a $ * @brief Demonstrate how to set GPIO pin mode and use pin data input/output control. 演示如何设置GPIO引脚模式并使用引脚数据输入/输出控制。 * @note * Copyright (C) 2013~2015 Nuvoton Technology Corp. All rights reserved. * ******************************************************************************/ #include "stdio.h" #include "M451Series.h" #include "NuEdu-Basic01.h" #define PLL_CLOCK 72000000 void SYS_Init(void) { /*----------------------------------------------

STM32之USART学习

烈酒焚心 提交于 2020-01-12 22:58:49
一、 串口的基本知识 串口的基本知识,可以参考如下文章: a. 串口基础知识文章1 b. 串口基础知识文章2 二、STM32配置USART 下面是配置USART过程的思维导图,如下: 下面是各个过程的具体实现过程,并带有注释。 (1)USART对应GPIO配置 具体代码如下: GPIO_InitTypeDef GPIO_InitStructure ; //定义GPIO结构体 /*开启时钟*/ RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOA , ENABLE ) ; //UART发送端PA9引脚初始化 GPIO_InitStructure . GPIO_Pin = GPIO_Pin_9 ; GPIO_InitStructure . GPIO_Mode = GPIO_Mode_AF_PP ; //设置为复用推挽输出 GPIO_InitStructure . GPIO_Speed = GPIO_Speed_50MHz ; GPIO_Init ( GPIOA , & GPIO_InitStructure ) ; //UART接收端PA10引脚初始化 GPIO_InitStructure . GPIO_Pin = GPIO_Pin_10 ; GPIO_InitStructure . GPIO_Mode = GPIO_Mode_IN_FLOATING

Multiple thermocouples on raspberry pi

主宰稳场 提交于 2020-01-12 08:14:35
问题 I am pretty new to the GPIO part of the raspberry Pi. When I need pins I normally just use Arduino. However I would really like this project to be consolidated to one platform if possible, I would like to do it all on the PI. So I have three (3) MAX31855 boards and type K Thermocouples. I just don't know where to go with hooking up the other two. I don't know if I can just use any other pins (besides power and ground pins) for the MISO, CSO, and SCLK pins. This may sound like a rookie

Multiple thermocouples on raspberry pi

有些话、适合烂在心里 提交于 2020-01-12 08:13:14
问题 I am pretty new to the GPIO part of the raspberry Pi. When I need pins I normally just use Arduino. However I would really like this project to be consolidated to one platform if possible, I would like to do it all on the PI. So I have three (3) MAX31855 boards and type K Thermocouples. I just don't know where to go with hooking up the other two. I don't know if I can just use any other pins (besides power and ground pins) for the MISO, CSO, and SCLK pins. This may sound like a rookie

树莓派连接阿里云物联网平台-服务(nodejs)

家住魔仙堡 提交于 2020-01-12 04:59:35
陈拓 chentuo@ms.xab.ac.cn 2019/12/14-2019/12/20 1. 阿里云物联网平台设置 2. 在树莓派上安装Node.js LTS工具包 3. 阿里云物联网平台Node.js SDK 4. 发送温度数据到阿里云 5. node.js读DS18B20数据发送到阿里云 上面的内容见《树莓派连接阿里云物联网平台-属性(nodejs)》 https://blog.csdn.net/chentuo2000/article/details/103705694 6. 阿里云控制LED 电路连接请看参考文档《树莓派GPIO控制》。 6.1 安装Node.js的gpio库 nodejs有不少树莓派Gpio库,在https://www.npmjs.com/上搜索raspberry gpio可以找到很多。 找一个简单的onoff,相关网址: https://www.npmjs.com/package/onoff onoff用于Node.js的GPIO访问和中断检测。 安装onoff npm install onoff 查看安装: 使用onoff 首先我们把LED和树莓派连接。LED的正极串联一个1KΩ电阻接树莓派的GPIO17 (pin11),负极接地。见参考文档《树莓派GPIO控制》。 看看例子程序: ■ 使用同步API闪烁LED 运行blink-led.js: pi

Raspberry pi GPIO pins to control Tkinter GUI stopwatch

不羁的心 提交于 2020-01-11 14:28:26
问题 below are the codes creating Buttons on the GUI to control the stopwatch. I would like to ask if anyone knows how to modified the code in the way such that we can use GPIO pins as input on the raspberry PI (meaning we have 3 push button components to control the stopwatch to function). What i only know is that we must import RPi.GPIO as GPIO , GPIO.setmode(GPIO.BOARD) and GPIO.setup() the GPIO pins. Anybody can help me??? from Tkinter import * import time class StopWatch(Frame): """