STM32GPIO使用超强总结_第1页
STM32GPIO使用超强总结_第2页
STM32GPIO使用超强总结_第3页
STM32GPIO使用超强总结_第4页
STM32GPIO使用超强总结_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STM32GPIO使用操作步骤:.使能GPIO对应的外设时钟例如://使能GPIOA、GPIOB、GPIOC对应的外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);.声明一个GPIO_InitStructu结构体例如:GPIO_InitTypeDefGPIO_InitStructure;.选择待设置的GPIO管脚例如://选择待设置的GPIO第7、8、9管脚位,中间加“|”符号GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;.设置选中GPIO管脚的速率例如://殳置选中GPIO管脚的速率为最高速率2MHzGPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MH最高速率2MHz.设置选中GPIO管脚的模式例如:〃设置选中GPIO管脚的模式为开漏输出模式GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD;开漏输出模式.根据GPIO_InitStructure指定的参数初始化外设GPIOX例如:GPIO_Init(GPIOC,&GPIO_InitStructure);.其他应用例:将端口GPIOA的第10、15脚置1(高电平)GPIO_SetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);例:将端口GPIOA的第10,15脚置0(低电平)GPIO_ResetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);1/17

GPIO寄存器:寄存器描述CRL 端口配置低寄存器CRH 端口配置高寄存器IDR 端口输入数据寄存器ODR 端口输出数据寄存器BSRR 端口位设置/复位寄存器BRR 端口位复位寄存器LCKR 端口配置锁定寄存器EVCR 事件控制寄存器MAPR 复用重映射和调试I/O 配置寄存器EXTICR外部中断线路0-15配置寄存器GPIO库函数:函数名 描述GPIO_DeInit 将外设GPIOx寄存器重设为缺省值GPIO_AFIODeInit将复用功能(重映射事件控制和EXTI设置)重设为缺省值GPIO_AFIODeInitGPIO_Init 根据GPIO_InitStru中指定的参数初始化外设GPIOx寄存器GPIO_StructInit把GPIO_InitStruC|^q每一个参数按缺省值填入GPIO_StructInitGPIO_ReadInputDataBit读取指定端口管脚的输入GPIO_ReadInputData读取指定的GPIO端口输入GPIO_ReadOutputDataBit读取指定端口管脚的输出GPIO_ReadOutputData读取指定的GPIO端口输出2/17GPIO_SetBits设置指定的数据端口位GPIO_ResetBits清除指定的数据端口位GPIOWriteBit设置或者清除指定的数据端口位GPIOWrite向指定GPIO数据端口写入数据GPIO_PinLockConfig 锁定GPIO管脚设置寄存器GPIO_EventOutputConfig选择GPIO管脚用作事件输出GPIO_EventOutputCmd 使能或者失能事件输出GPIO_PinRemapConfig改变指定管脚的映射GPIO_EXTILineConfig 选择GPIO管脚用作外部中断线路库函数:函数GPIO_DeInit功能描述:将外设GPIOx寄存器重设为缺省值例:GPIO_DeInit(GPIOA);函数GPIO_AFIODeInit功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值例:GPIO_AFIODeInit();函数GPIO_Init功能描述:根据GPIO_InitStru中指定的参数初始化外设GPIOx寄存器例:GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);3/17GPIO_InitTypeDefstructureGPIO_InitTypeDef[义于文件“$532f10x_gpio.”h:typedefstruct{u16GPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;)GPIO_InitTypeDef;GPIO_Pin该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中多个管脚。可以使用下表中的任意组合。GPIO_Pin_None:无管脚被选中GPIO_Pin_x: 选中管脚x(0--15)GPIO_Pin_All 选中全部管脚GPIO_SpeedGPIO_Speed:用以设置选中管脚的速率。GPIO_Speed_10MHz:最高输出速率10MHzGPIO_Speed_2MHz:最高输出速率2MHzGPIO_Speed_50MHz:最高输出速率50MHzGPIO_ModeGPIO_Mode:用以设置选中管脚的工作状态。GPIO_Mode_AIN: 模拟输入4/17GPIO_Mode_IN_FLOATING:浮空输入GPIO_Mode_IPD: 下拉输入GPIO_Mode_IPU: 上拉输入GPIO_Mode_Out_OD:开漏输出GPIO_Mode_Out_PP:推挽输出GPIO_Mode_AF_OD: 复用开漏输出GPIO_Mode_AF_PP: 复用推挽输出函数GPIO_StructInit功能描述:把GPIO_InitStru中的每一个参数按缺省值填入例:GPIO_InitTypeDefGPIO_InitStructure;GPIO_StructInit(&GPIO_InitStructure);GPIO_InitStructGPIO_Pin:GPIO_Pin_AllGPIO_Speed:GPIO_Speed_2MHzGPIO_Mode:GPIO_Mode_IN_FLOATING函数GPIO_ReadInputDataBit功能描述:读取指定端口管脚的输入例:u8ReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);函数GPIO_ReadInputData功能描述:读取指定的GPIO端口输入例:5/17u16ReadValue;ReadValue=GPIO_ReadInputData(GPIOC);函数GPIO_ReadOutputDataBit功能描述:读取指定端口管脚的输出例:u8ReadValue;ReadValue=GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_7);函数GPIO_ReadOutputData功能描述:读取指定的GPIO端口输出例:u16ReadValue;ReadValue=GPIO_ReadOutputData(GPIOC);函数GPIO_SetBits功能描述:置位指定的数据端口位例:将端口GPIOA的第10,15脚置1(高电平)GPIO_SetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);函数GPIO_ResetBits功能描述:清除指定的数据端口位例:将端口GPIOA的第10,15脚置0(低电平)GPIO_ResetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);函数GPIO_WriteBit功能描述:设置或者清除指定的数据端口位例:GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_SET);6/17函数GPIO_Write功能描述:向指定GPIO数据端口写入数据例:GPIO_Write(GPIOA,0x1101);函数GPIO_PinLockConfig功能描述:锁定GPIO管脚设置寄存器例:GPIO_PinLockConfig(GPIOA,GPIO_Pin_0|GPIO_Pin_1);函数GPIO_EventOutputConfig功能描述:选择GPIO管脚用作事件输出例:GPIO_EventOutputConfig(GPIO_PortSourceGPIOE,GPIO_PinSource5);GPIO_PortSourceGPIO_PortSource用以选择用作事件输出的GPIO端口。函数GPIO_EventOutputCmd功能描述:使能或者失能事件输出例:GPIO_EventOutputConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);GPIO_EventOutputCmd(ENABLE);函数GPIO_PinRemapConfig功能描述:改变指定管脚的映射例:GPIO_PinRemapConfig(GPIO_Remap_I2C1,ENABLE);一.GPIO概述1、共有8种模式,可以通过编程选择:1.浮空输入 带上拉输入 带下拉输入 模拟输入7/175.开漏输出一一此模式可实现hotpower说的真双向IO) 推挽输出7.复用功能的推挽输出8.复用功能的开漏输出模式7和模式8需根据具体的复用功能决定。2、专门的寄存器(GPIOx_BSRR和GPIOx_BRR)实现对GPIO口的原子操作,即回避了设置或清除I/O端口时的“读-修改-写”操作,使得设置或清除上。端口的操作不会被中断处理打断而造成误动作。3、每个GPIO口都可以作为外部中断的输入,便于系统灵活设计。4、I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这有利于噪声控制。这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。各种接口的措施:对于串口,假如最大波特率只需115.2k那么用2M的GPIO的引脚速度就够了,既省电也噪声小。对于建中妾口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够了,需要选用50M的GPIO的引脚速度。GP口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。复位期间和刚复位后,复用功能未开启,^。端口被配置成浮空输入模式。所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。GPIC口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。5、所有I/O口兼容CMOS和丁丁匕多数上。口兼容5V电平。6、大电流驱动能力:GPIO口在高低电平分别为0.4V和VDD-0.4V时,可以提供或吸收8mA电流;如果把输入输出电平分别放宽到1.3V和VDD-1.3V时,可以提供或吸收20mA电流。7、具有独立的唤醒I/O口。8、很多上。口的复用功能可以重新映射。8/179、GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。此功能非常有利于在程序跑飞的情况下保护系统中其他的设备,不会因为某些I/O口的配置被改变而损坏—一如一个输入口变成输出口并输出电流。二.推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现线与需要用OC(opencollect门电路如果输出级的有两个三极管,始终处于一个导通、一个截止的状态,也就是两个三级管推挽相连,这样的电路结构称为推拉式电路或图腾柱(Totem-pole输出电路(可惜,图无法贴上)。当输出低电平时,也就是下级负载门输入低电平时,输出端的电流将是下级门灌入T4;当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经T3.D1拉出。这样一来,输出高低电平时,T3一路和T4一路将交替工作,从而减低了功耗,提高了每个管的承受能力。又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。因此,推拉式输出级既提高电路的负载能力,又提高开关速度。供你参考。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率高。输出既可以向负载灌电流,也可以从负载抽取电流三.开漏电路在电路设计时我们常常遇到开漏(opendrain和开集(opencollect))iffi概念。所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。组成开漏形式的电路有以下几个特点:.利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经Rpull-upMOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。.可以将多个开漏输出的Pin连接到一条线上。形成“与逻辑”关系。如图1,当PIN_A、PIN_B、PIN)任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。.可以利用改变上拉电源的电压,改变传输电平。如图2,I的逻辑电平由电源丫“1决定,而输出高电平则由丫“2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。.开漏Pin不连接外部的上拉电阻,则只能输出低电平因此对于经典的51单片机的P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑)。.标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。应用中需注意:9/17.开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。如图3。.上拉电阻Rpull-u的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小。反之亦然。Push-Pul输出就是一般所说的推挽输出,在CMOS电路里面应该较CMOS输出更合适,应为在CMOS里面的口口5卜-口山]输出能力不可能做得双极那么大。输出能力看IC内部输出极N管P管的面积。和开漏输出相比,push-pull的高低电平由葭的电源低定,不能简单的做逻辑操作等。push-pul是现在CMOS电路里面用得最多的输出级设计方式。at91rm9200GPI模拟126妾口时注意!!四.0^OD集电极开路门集电极开路OC或源极开路OD)open-drair是漏极开路输出的意思,相当于集电极开路(open-collect输出,即廿中的集电极开路(oc)输出。一般用于线或、线与,也有的用于电流驱动。open-drair是对mos管而言,open-collect是对双极型管而言,在用法上没啥区别。开漏形式的电路有以下几个特点:.利用外部电路的驱动能力,减少IC内部的驱动。或驱动比芯片电源电压高的负载. 可以将多个开漏输出的Pin连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2CSMBus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。.可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供TTL/CMOS电平输出.开漏Pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。.正常的CMOS输出级是上、下两个管子,把上面的管子去掉就是OPEN-DRAIN了。这种输出的主要目的有两个:电平转换和线与。 由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样你就可以进行任意电平的转换了。.线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为OPEN-DRAIN上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的CMOS输出级,如果出现一个输出为高另外一个为低时,等于电源短路。).OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。10/17五.线或逻辑与线与逻辑在一个结点线)上,连接一个上拉电阻到电源VCC或VDD和n个NPN或NMOS晶体管的集电极C或漏极D,这些晶体管的发射极£或源极S都接到地线上,只要有一个晶体管饱和,这个结点线)就被拉到地线电平上.因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS),晶体管就会饱和,所以这些基极或栅极对这个结点线)的关系是或非NOR逻辑.如果这个结点后面加一个反相器,就是或OR逻辑.注:个人理解:线与,接上拉电阻至电源。(~A)&(~B)=~(A+B)由公式较容易理解线与此概念的由来;如果用下拉电阻和PNP或PMOS管就可以构成与非NAND逻辑,或用负逻辑关系转换与/或逻辑.注:线或,接下拉电阻至地。(~A)+(-B)=~(AB);这些晶体管常常是一些逻辑电路的集电极开路OC或源极开路。口输出端.这种逻辑通常称为线与/线或逻辑,当你看到一些芯片的OC或OD输出端连在一起,而有一个上拉电阻时,这就是线或/线与了,但有时上拉电阻做在芯片的输入端内.顺便提示如果不是OC或OD芯片的输出端是不可以连在一起的,总线8^上的双向输出端连在一起是有管理的,同时只能有一个作输出,而其他是高阻态只能输入STM32引脚说明GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPI0)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。STM32的大部分引脚除了当GPIO使用之外,还可以复用位外设功能引脚(比如串口),这部分在【STM32】STM32端口复用和重映射(AFIO辅助功能时钟)中有详细的介绍。GPIO基本结构每个GPIO内部都有这样的一个电路结构,这个结构在本文下面会具体介绍。11/17

〈偿抵输入.复用功倭输入推槐■开疆或关所萍心室健生一祠怒痘TTL〈偿抵输入.复用功倭输入推槐■开疆或关所萍心室健生一祠怒痘TTL门特基

触发器L稳耳卵刘磊

输疝族诂冢输出

控状这边的电路图稍微提一下:保护二极管:10引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。但是尽管如此,还是不能直接外接大功率器件,须加大功率及隔离电路驱动,防止烧坏芯片或者外接器件无法正常工作。P-MOS管和N-MOS管:由P-MOS管和N-MOS管组成的单元电路使得GPIO具有“推挽输出”和“开漏输出”的模式。这里的电路会在下面很详细地分析到。丁丘肖特基触发器:信号经过触发器后,模拟信号转化为0和1的数字信号。但是,当GPIO引脚作为ADC采集电压的输入通道时,用其“模拟输入”功能,此时信号不再经过触发器进行TTL电平转换。ADC外设要采集到的原始的模拟信号。这里需要注意的是,在查看《STM32中文参考手册V10》中的GPIO的表格时,会看到有“FP一列,这代表着这个GPIO口时兼容3.3V和5丫的;如果没有标注“FT”,就代表着不兼容5V。STM32的GPIO工作方式GPIO支持4种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和4种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。同时,GPIO还支持三种最大翻转速度(2MHz.10MHz、50MHz)。每个I/O口可以自由编程,但I/O口寄存器必须按32位字被访问。GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLOATING浮空输入GPIO_Mode_IPD下拉输入GPIO_Mode_IPU上拉输入GPIO_Mode_Out_OD开漏输出GPIO_Mode_Out_PP推挽输出12/17

GPIO_Mode_AF_OD复用开漏输出GPIO_Mode_AF_PP复用推挽输出下面将具体介绍GPIO的这八种工作方式:浮空输入模式浮空输入模式浮空输入模式下,上。端口的电平信号直接进入输入数据寄存器。也就是说,1/。的电平状态是不确定的,完全由外部输入决定;如果在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的。上拉输入模式为用功能向人上拉电阻来自片上外设镇加至片上*外设般地.写猫IB控制电路——③衿A檄掘甯存器TTL上拉输入模式为用功能向人上拉电阻来自片上外设镇加至片上*外设般地.写猫IB控制电路——③衿A檄掘甯存器TTL曲匣心上拉输入模式下,上。端口的电平信号直接进入输入数据寄存器。但是在上。端口悬空(在无信号输入)的情况下,输入端的电平可以保持在高电平;并且在1/。^^口输入为低电平的时候,输入端的电平也还是低电平。13/17下拉输入模式.蜀写来自片上外设横跳至月上*外设怏块.相A更用功耗徜入段抵摘入输册控制电翡下拉电阻7\保护.蜀写来自片上外设横跳至月上*外设怏块.相A更用功耗徜入段抵摘入输册控制电翡下拉电阻7\保护丁二根管n用力器输出下拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在低电平;并且在1/0端口输入为高电平的时候,输入端的电平也还是高电平。模拟输入模式②至甘匕3皿一外设林训彳支用功一购入r|TTL褪圉特触发器|输入生询器输入数据寄存器来自片上外设模块②至甘匕3皿一外设林训彳支用功一购入r|TTL褪圉特触发器|输入生询器输入数据寄存器来自片上外设模块升次辘出控制山路模拟输入模式下,1/。端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等等。开漏输出模式14/17便国儡入复用功能输入至片上*外设根块,T读解小百片上外设模址立用功证输出P-MOS।输入删渤器17便国儡入复用功能输入至片上*外设根块,T读解小百片上外设模址立用功证输出P-MOS।输入删渤器17-—TTR^j特触犬既制巾一都M-MDS③.概管开启状态模旭皤人更用M能城人读,写位设置,涓除寄存器输人数据富存器来自片k外设模块触发3s输入骅动舐「输出施劫器输出腔模旭皤人更用M能城人读,写位设置,涓除寄存器输人数据富存器来自片k外设模块触发3s输入骅动舐「输出施劫器输出腔开漏输出模式下,通过设置位设置/清除寄存器或者输出数据寄存器的值,途经N-MOS管,最终输出到上。端口。这里要注意N-MOS管,当设置输出的值为高电平的时候,N-MOS管处于关闭状态,此时上。端口的电平就不会由输出的高低电平决定,而是由上。端口外部的上拉或者下拉决定;当设置输出的值为低电平的时候,N-MOS管处于开启状态,此时上。端口的电平就是低电平。同时,上。端口的电平也可以通过输入电路进行读取;注意,上。端口的电平不一定是输出的电平。开漏复用输出模式开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。推挽输出模式15/17

『开启状态至片上…人外设粮块一复用功能,久 1VCC 『开启状态至片上…人外设粮块一复用功能,久 1VCC I什俣『 ITTL施密特触发器输出敢诉寄存器V5S输出控P-MOS于驾管推挽输出模式下,通过设置位设置/清除寄存器或者输出数据寄存器的值,途经P-MOS管和N-MOS管,最终输出到上。端口。这里要注意P-MOS管和N-MOS管,当设置输出的值为高电平的时候,P-MOS管处于开启状态,N-MOS管处于关闭状态,此时上。端口的电平就由P-MOS管决定:高电平;当设置输出的值为低电平的时候,P-MOS管处于关闭状态,N-MOS管处于开启

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论