推挽

20191105

天涯浪子 提交于 2019-12-03 16:36:10
虽然之前的寄存器啥的指向哪里哪里看明白了,但是它里面的数字代表的意思还是模糊,所以找了一下以供参考。 一、推挽输出: 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。    当一个三级管开通的时候另一个关断,根据B端来确定, 这是一个比较器 当a>b时B 输出为0;当a<b时B输出为1 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽   二、开漏输出: 当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1.开漏输出:一般只能输出低电平,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).开漏形式的电路有以下几个特点: 利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up

跑马灯实验

风流意气都作罢 提交于 2019-12-03 15:01:48
一、实验目的 控制开发板上的两个LED实现类似跑马灯的效果; 通过该实验,可以初步掌握STM32基本I/O口的使用。 二、STM32的I/O口可以由软件配置成8种模式:输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽输出、推挽式复用功能、开漏复用功能。 三、STM32的I/O端口寄存器 1、每个端口I/O端口都有7个寄存器 分别是:配置模式的2个32位的端口配置寄存器CRL和CRH; 一个32位的置位/复位寄存器BSRR; 一个16位的复位寄存器BRR; 一个32位的锁存寄存器LCKR; 主要学习一些常用的寄存器,即CRL、CRH、IDR、ODR。 2、CRH和CRL作用完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。 实例: 比如我们要设置 PORTC 的 11 位为上拉输入, 12 位为推挽输出。代码如下: GPIOC->CRH&=0XFFF00FFF; //清掉这 2 个位原来的设置,同时也不影响其他位的设置 GPIOC->CRH|=0X00038000; //PC11 输入, PC12 输出 GPIOC->ODR=1<<11; //PC11 上拉 通过这三句话,设置了PC11为上拉输入,PC12为推挽输出。 3、IDR是一个端口输入数据寄存器,只用了低16位。 4、ODR是一个端口输出数据寄存器,也只用了低16位。 5、led.c文件代码:

2019年11月4日

不打扰是莪最后的温柔 提交于 2019-12-03 11:30:27
  一、推挽输出: 可以输出高,低电平 ,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。    当一个三级管开通的时候另一个关断,根据B端来确定, 这是一个比较器 当a>b时B 输出为0;当a<b时B输出为1 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽    二、开漏输出: 当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1. 开漏输出: 一般只能输出低电平 ,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 开漏形式的电路有以下几个 特点 : 利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很小的栅极驱动电流。 一般来说

STM32输入模式

匿名 (未验证) 提交于 2019-12-03 00:17:01
一、推挽输出:    当一个三级管开通的时候另一个关断,根据B端来确定, 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽   二、开漏输出: OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。 可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。补充:什么是“线与”?: 其实可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。 三、浮空输入 逻辑器件的输入引脚既不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 四、上拉输入/下拉输入/模拟输入: 1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平! 2、下拉输入:就是把电压拉低,拉到GND。 3、模拟输入:模拟输入是指传统方式的输入

GPIO的8种工作模式

懵懂的女人 提交于 2019-12-02 18:13:47
1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1 eg, #define GPIO_MODE_INPUT 0x00000000U / *!<输入浮动模式* / 当GPIO采用浮空输入模式时,STM32的引脚状态是不确定的,此时STM32得到的电平状态完全取决于GPIO外部的电平状态,所以说在GPIO外部的引脚悬空时,读取该端口的电平状态是个不确定的值。 ———————————————— 版权声明:本文为CSDN博主「施俊年」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lvshitianxia/article/details/80969739 2、带上拉输入GPIO_IPU——IO内部上拉电阻输入 eg, #define GPIO_MODE_IT_RISING 0x10110000U / *!<具有上升沿触发检测的外部中断模式* / #define GPIO_MODE_IT_FALLING 0x10210000U / *!<具有下降沿触发检测的外部中断模式* / #define GPIO_MODE_IT_RISING_FALLING 0x10310000U / *!<具有上升沿/下降沿触发检测的外部中断模式* /

推挽电路和开集

馋奶兔 提交于 2019-11-27 23:59:57
整理下之前的笔记:简谈推挽电路 要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter)。下图是NPN型晶体管。 这种三极管是 电流控制 型元器件,注意关键词电流控制。意思就是说,只要基极B有输入(或输出)电流就可以对这个晶体管进行控制了。 下面请允许我换一下概念,把基极B视为 控制端 ,集电极C视为 输入端 ,发射极E视为 输出端 。这里输入输出是指 电流流动 的方向。 当控制端有电流输入的时候,就会有电流从输入端进入并从输出端流出。 而 PNP管正好相反 ,当有电流从控制端流出时,就会有电流从输入端流到输出端。 那么 推挽电路 : 上面的三极管是N型三极管,下面的三极管是P型三极管,请留意控制端、输入端和输出端。 当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,于是电流从上往下通过,提供电流给负载。 经过上面的N型三极管提供电流给负载(Rload),这就叫「 推 」。 当Vin电压为V-时,下面的三极管有电流流出,Q4导通,有电流从上往下流过。 经过下面的P型三极管提供电流给负载(Rload),这就叫「 挽 」。 以上,这就是 推挽(push-pull)电路 。 那么什么是开漏呢?这个在我答案一开头给出的「网上资料」里讲得很详细了,我这里也简单写一下。

STM32单片机GPIO口配置问题

痴心易碎 提交于 2019-11-27 21:30:58
  在学习STM32F单片机时,我们常常困惑什么时候才能叫入门,采用什么样的教材入门,或者采用什么的编程软件。在学习类的教材中,以神州,原点教材布局很多,但是相信很多人看到这类教材也是一头雾水,需要你花费巨大的精力从寄存器的最底层去学习和了解,学习时间还是相对漫长。在采用的编程软件中,KEIL和IAR各有优势吧,在这里我选用的是KEIL。   在开始学习编程时,我采用的是库函数开发指南。在安装完成KEIL软件和添加项目工程时,就开始学习库函数编程。   在编写一个GPIO口控制时,首先我们要知道我们要实现的功能,连接的IO口和怎么配置GPIO口。最常见的以LED举例来说。比如我采用PB13引脚连接LED灯的负极,按照硬件的逻辑需要置位该引脚为低电平,LED才点亮。置位高电平,LED灯熄灭。按照库函数编程的规则,我需要创建一个LED.C和一个LED.H文件,当然,也可以省事,两个不需要创建,创建的好处,方便以后直接移植修改和便于阅读理解。只有main函数中包含LED.H文件,这个头文件才会被调用,LED.C文件需要被添加进来。   在图示中配置为引脚配置为LED灯控制引脚,在这里GPIO口配置为输出。GPIO口可以灵活配置为输入和输出。输入模式一般为四种,一般为模拟输入,浮空输入,上拉输入和下拉输入模式,也有人认为输入为模拟输入,浮空输入,弱上拉输入,强上拉输入