我就想测测GPIO能不能读取高电平嘛,就把开发板上的5V电压连接到PH10,用的是浮空输入,结果PH10读取的还是低电平,百思不得其解,各位老哥帮帮忙。
代码很简单:
#include "sys.h"
#include "delay.h"
#include "usart.h"
int main(void)
{ GPIO_InitTypeDef GPIO_Initure;
Cache_Enable();
HAL_Init();
Stm32_Clock_Init(432,25,2,9);
delay_init(216);
uart_init(115200);
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
GPIO_Initure.Pin=GPIO_PIN_10;
GPIO_Initure.Mode=GPIO_MODE_INPUT;
GPIO_Initure.Pull=GPIO_NOPULL;
GPIO_Initure.Speed=GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIOH,&GPIO_Initure);
while(1)
{int c=1;
printf("%d ",HAL_GPIO_ReadPin(GPIOH,10));
if (HAL_GPIO_ReadPin(GPIOH,10)==1)
{
printf("%d
",c);
}
delay_ms(700);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
改为
if (HAL_GPIO_ReadPin(GPIOH,10) != 0)
另外不是每一个IO都可以接5V的, 只有标记为FT的才可以, 否则会烧IO的
一周热门 更多>