srkp.net
当前位置:首页 >> STM32 IO口设置输出低电压问题? >>

STM32 IO口设置输出低电压问题?

GPIO_ResetBits(GPIOB,GPIO_Pin_13); 这两句 换过来 GPIO_Init(GPIOB, &GPIO_InitStructure);

称输出信号的为1号,输入的为2号。 可能情况: 1号与2号没有共地,可能会造成你说的情况; 可用的配置:1号推挽输出,2号可以设置为任意输入;1号上拉输出,2号可以设置为上拉输入或浮空输入;1号为开漏输出,2号为上拉输入;以上3中配置可以正...

设置为推挽输出 而不是复用推挽输出

STM32的GPIO输入输出模式的配置种类有8种之多(输入和输入各4种):(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推...

推挽输出并不是一种电平,而是一种电压输出方式。你设置完输出方式后要执行一下输出电平才行。 比如你初始化完成后,加一句 GPIO_ResetBits(GPIOC,GPIO_Pin_6); 就把引脚PC6输出低电平了(这里只是举个例子,你需要把端口和引脚改为你自己的)。

STM32的I/O管脚有两种:TTL和CMOS,所有管脚都兼容TTL和CMOS电平。也就是说,从输入识别电压上看,所有管脚(不管是TTL管脚还是CMOS管脚)都可以识别TTL或CMOS电平。下面是摘自STM32数据手册的有关数据:

以初始化GPIOA1为例: GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1 ; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_SetBits(GPIOA,GPIO_Pin_1); 就能...

STM32上电后(复位)(什么都不对IO口操作)IO为高阻态 2 STM32的高电平是3.3V。 STM32的高电平是3.3V。

不算是,未初始化的端口输出是高阻态,高阻态不是一个电平状态,引脚上的电压不稳定,可能是高电平,也可能是低电平,我曾经遇到过上电时候是高电平,几秒内变成了低电平,所以时高时低也是很有可能的。

试试软件仿真看看引脚电平变化,或者使用Jlink之类的做硬件调试更好。

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com