stm32读取io口电平上电瞬间gpio输出什么电平?

单片机上电后,默认的各I/O口得输出电平
[问题点数:40分,结帖人xiaohei1757]
本版专家分:26
结帖率 71.43%
CSDN今日推荐
本版专家分:4115
2012年11月 硬件/嵌入开发大版内专家分月排行榜第三
本版专家分:4115
2012年11月 硬件/嵌入开发大版内专家分月排行榜第三
本版专家分:26
本版专家分:2929
本版专家分:26
本版专家分:0
本版专家分:93
2004年4月 其他数据库开发大版内专家分月排行榜第二
本版专家分:365
本版专家分:2929
匿名用户不能发表回复!
其他相关推荐STM32 关于GPIO的问题集锦 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 25092|回复: 20
STM32 关于GPIO的问题集锦
在线时间0 小时
该用户从未签到主题帖子精华
中级会员, 积分 385, 距离下一级还需 115 积分
1、关于GPIO
问:STM32的IO口初始化为输入浮空,那管脚是高电平还是低电平呢?
答:既不是高电平也不是低电平,悬空的意思是没有使用的状态。
2、有关stm32f103 端口复用的问题?
问:在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:
PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
当我要使用I2C1的重定义时,我要打开,
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
这样理解对不对?
有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?
总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?
答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2、AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。
3、AFIO重映射的操作步骤是什么?
答:使能被重新映射到的I/O端口时钟使能被重新映射的外设时钟使能AFIO功能的时钟 (勿忘!) 进行重映射
4、配置IO口的频率问题
问:配置IO口的频率时,为什么只给一个IO口配置?
答:GPIO_InitStructure.GPIO_Speed 这个结构体的成员始终为GPIO_Speed_50MHz 配置其他io口时也默认用50MHz 。
5、请问怎样开始STM32W108CBU64芯片的PB5引脚外设输入中断?
问:有没有这么一个例程,有开启外设中断和中断函数的?
最佳答案:看了下datasheet,PB5复用的功能为PB5, ADC0, TIM2CLK, TIM1MSK,相关的中断应该有,就看你配置为什么外设了。
6、STM32F101 Tamper Pin 使用问题
问:请教各位大虾:STM32F101 BKP当中的Tamper Pin该如何初始化!?
答:当TPAL=0时:如果在启动侵入检测TAMPER引脚前(通过设置TPE位)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现上升沿)。 ● 当TPAL=1时:如果在启动侵入检测引脚TAMPER前(通过设置TPE位)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现下降沿)。 设置BKP_CSR寄存器的TPIE位为’1’,当检测到侵入事件时就会产生一个中断。 详见:BKP_CSR
7、有关stm32f103 端口复用的问题?
问:在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:
PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
当我要使用I2C1的重定义时,我要打开,
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
这样理解对不对?
有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?
总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?
答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2、AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。
7、STM32里面,设置GPIO_Mode_IPU 有什么用
问:中断的配置里面有:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);& && && && && && && && && && && && &GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
GPIO口设置里面有:& && &&&GPIO_InitStructure.GPIO_Pin& &= GPIO_Pin_8 | GPIO_Pin_9;
& && && && && && && && && && &&&GPIO_InitStructure.GPIO_Mode&&= GPIO_Mode_IPU;
& && && && && && && && && && &&&GPIO_Init(GPIOB, &GPIO_InitStructure);
我想问的是,这两组设置必须同时存在吗?
答:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);& && && &
& && &GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
STM32中这两句话的意思是PB口的8、9管脚作为外部中断的触发信号,所以Pin_8和Pin_9就要设置成输入的模式,而GPIO_InitStructure.GPIO_Mode&&= GPIO_Mode_IPU;中IPU是指IO口的工作模式是带上拉输入,这个和具体的电路有关,总之如果选择某个IO口作为外部中断的触发信号,就必须配置这个IO口为输入模式,不然无法触发中断
8、stm32中GPIO口的最大输出速度如何理解?
问:stm32中GPIO口的最大输出速度如何理解?
答:1、是这样的,2M、10M和50M是指GPIO口的采样频率。不知这样理解对不对,我就是这样做的。
& && && &2、我通过PB6采集80KBPS/S的方波,通过中断计采集,完全胜任。
9、STM32 GPIO 弱上拉能做输入输出吗
问:STM32 GPIO 弱上拉能做输入输出吗?
答:32只有上拉输入,用在外部连接的是下路输出的,这样才能正确读取。输出的话一般用推挽和开漏,推挽用于一般的驱动,开漏一般加上拉电阻像三极管集电极那样驱动较大电流。
10、STM32语句:GPIO-&ODR^=0X02 是怎么执行的?实现什么功能?
问:是GPIO端口的数据存在ODR寄存器,该数据与0x02异或再存在ODR中吗?
答:ODR是stm32的IO端口输出数据寄存器,该寄存器31-16位始终读为0,15-0位输出数据。GPIO-&ODR^=0X02 是输出数据与0x02异或,即输出数据的第二位如果与1相同,该位置0,反之出1,因此实现取反,输出数据保存在ODR,每执行一次输出数据的第二位取反一次。
10、GPIO配置速度
问:stm32中的GPIO如果设置成了输入模式,还需要配置GPIO_Speed么?
答:输入模式可以不用配置速度,但是输出模式必须确定最大输出频率。
11、stm32 GPIO输入电平检测
问:GPIO两个引脚,模式都初始化为输入弱上拉,给其中一个引脚接4.7V的电压,IDR对应的值为1;给另一个引脚接5.13V的电压,IDR对应的值却为0;
答:检查一下是否使能了相应GPIO的时钟,是否有这样一句RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE);有它就使能了,否则读出的值不可预测。
12、关于STM32中GPIO寄存器IDR和ODR数据
问:STM32中GPIO寄存器IDR和ODR数据是不是同步的?为什么我用GPIO_SetBits函数设置管脚的时候,IDR和ODR同时改变,怎么使得只改变ODR的数据,而不改变IDR的数据?谢谢!
答:IDR寄存器的数据时实时反映IO口的状态,当然设置ODR,IO的状态也跟着改变,除非强制人为地设置。比如,ODR设置为1,而强制将对应的IO口接地,这时IDR就和ODR不一致;或者将ODR设置0,而强制降对应IO口接VCC,这时也不一致。
13、用STM32,有六个GPIO口(不在同一组)要相同信号输出,请问怎么设置?
问:例如GPIOE的pin10重映射到TIM1,设置好TIM1的PWM信号输出;其他的IO口如GPIOA的pin5、GPIOA的pin6、GPIOB的pin5、GPIOB的pin6、GPIOC的pin5也要输出与GPIOE的pin10相同的信号,请问大侠怎么设置?
答:用定时器中断吧,把PWM的脉宽配置成定时中断,把GPIO引脚都配置好,相应时钟都使能,然后到定时器中断函数中做相同的处理。
14、关于GPIO_WriteBit与GPIO_SetBits
问:GPIO_WriteBit与GPIO_SetBits有什么区别
答:可以用man命令查看区别
man ioctl :
& && & ioctl - control device
man write :
& && & write - write to a file descriptor
15、关于GPIO_InitTypeDef GPIO_InitStructure
问:这句话什么意思?
答:声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,stm32里面初始化GPIO用的吧。。设置完了GPIO_InitStructure里面的内容后在GPIO_Init (GPIO_TypeDef 。
*GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,比如初始化pa口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体。
16、关于 STM32的IO口能不能像51的IO口那样直接控制Px口输出
问:大家好,STM32的IO口能不能像51的IO口那样直接控制Px口输出?比如我要用51控制器段数码管,只要给Px口送十六进制数值就可以了?请问STM32可以吗?
答:可以的,举2个例子:GPIO0-&BRR = 0x55;GPIO1-&BSRR = 0x55;这其中的GPIOx表示IO号的号码,BRR/BSRR表示相就IO口的控制寄存器,就按这个格式操作就行了。
17、关于stm32芯片IO端口配置
问:stm32芯片 IO端口配置为浮空输入时,能不能读取端口上的电平状态。
答:STM32的输入状态寄存器GPIOx_IDR和输出状态寄存器和GPIOx_ODR的读取是不受端口配置影响的。
18、stm32 JTAG和普通IO复用问题
问:stm32 JTAG和普通IO复用,当软件设置为普通IO时,还能用JTAG下载软件吗。
答:能。因为在下载的时候,通过RESET时序进入了下载模式了。但是注意硬件的接法不要强制拉高拉低,也不要让其芯片的输出脚接过来。这样就会影响到jtag了。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 11, 距离下一级还需 39 积分
RE:STM32 关于GPIO的问题集锦
好东西,谢谢了。
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 43, 距离下一级还需 7 积分
RE:STM32 关于GPIO的问题集锦
顶一下!GOOD
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 105, 距离下一级还需 -55 积分
RE:STM32 关于GPIO的问题集锦
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 183, 距离下一级还需 -133 积分
RE:STM32 关于GPIO的问题集锦
这个要看看
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 43, 距离下一级还需 7 积分
RE:STM32 关于GPIO的问题集锦
你好,我想问一下GPIO能否配置成SPI接口,因为对我来说SPI接口不太够用啊
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 10, 距离下一级还需 40 积分
RE:STM32 关于GPIO的问题集锦
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 71, 距离下一级还需 -21 积分
回复:STM32 关于GPIO的问题集锦
在线时间2 小时
该用户从未签到主题帖子精华
新手上路, 积分 35, 距离下一级还需 15 积分
RE:STM32 关于GPIO的问题集锦
Thank you .
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 5, 距离下一级还需 45 积分
RE:STM32 关于GPIO的问题集锦
顶一个,哈哈哈
站长推荐 /1
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by判断STM32 GPIO输入口的输入状态(高电平或低电平)
以PE2和PE4为例:
① 判断单个端口是否为高电平:
if(GPIOE-&IDR& GPIO_IDR_IDR2)
当PE2端口为高电平时,if条件为真;当PE2口为低电平时,if条件为假;
② 判断单个端口是否为低电平:
if((~GPIOE-&IDR)& GPIO_IDR_IDR2)
分析:首先通过 &GPIO_IDR_IDR屏蔽掉PE2之外的其他PE口。当PE2为高电平时,GPIO-〉IDR的bit2为‘1’,取反后为‘0’,因此条件为假;当PE2为低电平时,GPIO-〉IDR的bit2为‘0’,取反后为‘1’,因此条件为真;通过此方法可以同时判断PE2或PE4(甚至更多PE口)是否为低电平(如按键被按下)
③ 判断多个端口中是否有低电平:
if((~GPIOE-&IDR)& (GPIO_IDR_IDR2 | GPIO_IDR_IDR4))
分析:首先通过 & (GPIO_IDR_IDR2| GPIO_IDR_IDR4)屏蔽掉PE2和PE4之外的其他PE口。当PE2或(和)PE4中为低电平时,GPIO-〉IDR的bit2或(和)bit4为‘0’,取反后为‘1’,因此条件为真;
注:此方法并不是用来判断stm32 IO口状态的最好和最直接的方法,但对于理解位操作会有帮助。
STM32怎么读取输出口电平
STM8库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
STM32的IO输入与输出
STM32 GPIO管脚模式的设置及使用方法
STM8S库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
STM32八种IO口模式区别
STM32的库如何实现对同一组IO口的一部分引脚进行读写
STM32学习历程之IO口输出方式
STM32学习笔记(三)------GPIO口寄存器的操作与使用
STM32 PA15 设置成下拉输入却总是高电平
没有更多推荐了,STM32的GPIO口的输出:开漏输出和推挽输出
> STM32的GPIO口的输出:开漏输出和推挽输出
STM32的GPIO口的输出:开漏输出和推挽输出
  推挽输出与开漏输出的区别:本文引用地址:
  &&推挽输出:可以输出高,低电平,连接数字器件
  &&开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  三极管的开漏输出有什么特性,和推挽是不是一回事,
  问题:
  很多芯片的供电电压不一样,有3.3v和5.0v,需要把几种IC的不同口连接在一起,是不是直接连接就可以了?实际上系统是应用在I2C上面。
  简答:
  1、部分3.3V器件有5V兼容性,可以利用这种容性直接连接
  2、应用电压转换器件,如TPS76733就是5V输入,转换成3.3V、1A输出。
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  开漏电路特点及应用
  在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。所谓开漏电路概念中提到的&漏&就是指MOSFET的漏极。同理,开集电路中的&集&就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
  组成开漏形式的电路有以下几个特点:
  1. 利用 外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。
  2. 可以将多个开漏输出的Pin,连接到一条线上。形成 &与逻辑& 关系。如图1,当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
  3. 可以利用改变上拉电源的电压,改变传输电平。如图2, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。
  4. 开漏Pin不连接外部的上拉电阻,则只能输出低电平(因此对于经典的51单片机的P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑)。
  5. 标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
  应用中需注意:
  1. 开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。如图3。
  2. 上拉电阻R pull-up的 阻值 决定了 逻辑电平转换的沿的速度 。阻值越大,速度越低功耗越小。反之亦然。
  Push-Pull输出就是一般所说的推挽输出,在CMOS电路里面应该较CMOS输出更合适,应为在CMOS里面的push-pull输出能力不可能做得双极那么大。输出能力看IC内部输出极N管P管的面积。和开漏输出相比,push-pull的高低电平由IC的电源低定,不能简单的做逻辑操作等。push-pull是现在CMOS电路里面用得最多的输出级设计方式。
  at91rm9200
模拟I2C接口时注意!!
  一.什么是OC、OD
  集电极开路门(集电极开路 OC 或源极开路OD)
  open-drain是漏极开路输出的意思,相当于集电极开路(open-collector)输出,即ttl中的集电极开路(oc)输出。一般用于线或、线与,也有的用于电流驱动。
  open-drain是对mos管而言,open-collector是对双极型管而言,在用法上没啥区别。
  开漏形式的电路有以下几个特点:
  1.利用外部电路的驱动能力,减少IC内部的驱动。 或驱动比芯片电源电压高的负载.
  2.可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成&与逻辑&关系。这也是I2C,SMBus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。
  3.可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供TTL/CMOS电平输出等。
  4.开漏Pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。
  5.正常的CMOS输出级是上、下两个管子,把上面的管子去掉就是OPEN-DRAIN了。这种输出的主要目的有两个:电平转换和线与。
  6.由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样你就可以进行任意电平的转换了。
  7.线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为OPEN-DRAIN上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的CMOS输出级,如果出现一个输出为高另外一个为低时,等于电源短路。)
  8.OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
  二.什么是线或逻辑与线与逻辑?
  在一个结点(线)上, 连接一个上拉电阻到电源 VCC 或 VDD 和 n 个 NPN 或 NMOS 晶体管的集电极 C 或漏极 D, 这些晶体管的发射极 E 或源极 S 都接到地线上, 只要有一个晶体管饱和, 这个结点(线)就被拉到地线电平上.
  因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS), 晶体管就会饱和, 所以这些基极或栅极对这个结点(线)的关系是或非 NOR 逻辑. 如果这个结点后面加一个反相器, 就是或 OR 逻辑.
  注:个人理解:线与,接上拉电阻至电源。(~A)&(~B)=~(A+B),由公式较容易理解线与此概念的由来 ;
  如果用下拉电阻和 PNP 或 PMOS 管就可以构成与非 NAND 逻辑, 或用负逻辑关系转换与/或逻辑.
  注:线或,接下拉电阻至地。(~A)+(~B)=~(AB);
  这些晶体管常常是一些逻辑电路的集电极开路 OC 或源极开路 OD 输出端. 这种逻辑通常称为线与/线或逻辑, 当你看到一些芯片的 OC 或 OD 输出端连在一起, 而有一个上拉电阻时, 这就是线或/线与了, 但有时上拉电阻做在芯片的输入端内.
  顺便提示如果不是 OC 或 OD 芯片的输出端是不可以连在一起的, 总线 BUS 上的双向输出端连在一起是有管理的, 同时只能有一个作输出, 而其他是高阻态只能输入.
  三.什么是推挽结构
  一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现线与需要用OC(open collector)门电路 .如果输出级的有两个三极管,始终处于一个导通、一个截止的状态,也就是两个三级管推挽相连,这样的电路结构称为推拉式电路或图腾柱(Totem-pole)输出电路(可惜,图无法贴上)。当输出低电平时,也就是下级负载门输入低电平时,输出端的电流将是下级门灌入T4;当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经 T3、D1 拉出。这样一来,输出高低电平时,T3 一路和 T4 一路将交替工作,从而减低了功耗,提高了每个管的承受能力。又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。因此,推拉式输出级既提高电路的负载能力,又提高开关速度。供你参考。
  推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率高。
  输出既可以向负载灌电流,也可以从负载抽取电流
分享给小伙伴们:
我来说两句……
微信公众号二
微信公众号一stm32的GPIO输出高电平不成功。求高手指点!!_百度知道
stm32的GPIO输出高电平不成功。求高手指点!!
代码如下:#include&stm32f10x_gpio.h&#include&stm32f10x_conf.h&#include&GPIO_STM32F10x.h&#include&stm32f10x.h&#include&stm32f10x_rcc.h&#include&misc.h&intmain(void){GPIO_I...
代码如下:#include &stm32f10x_gpio.h&#include &stm32f10x_conf.h&#include &GPIO_STM32F10x.h&#include &stm32f10x.h&#include &stm32f10x_rcc.h&#include &misc.h&int main(void) {
GPIO_InitTypeDef GPIO_InitS
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
} }所用的芯片是stm32f103c8t6,确定gpio是挂在apb2的。置位的那一句在循环内、外都试过。检测时在gpio A 的 6,7,8,9都接过电阻,但都没测到电压。。求高手解答。如果实在没什么问题,那可能就是烧录的问题了?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:33
获赞数:392
烧完程序看看GPIOA-&ODR寄存器,看看6,7,8,9是不是1,要不你直接在while循环里写GPIOA-&ODR=0xffff;试试
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 stm32io口输出高低电平 的文章

 

随机推荐