初级会员

- 积分
- 143
- 金钱
- 143
- 注册时间
- 2018-4-9
- 在线时间
- 25 小时
|
1金钱
GPIOB初始化
void GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure_1;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB的外设时钟
GPIO_InitStructure_1.GPIO_Mode=GPIO_Mode_IPU; //上拉输入
GPIO_InitStructure_1.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStructure_1.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure_1);
}
主函数是这样的
int main(void)
{
SysTick_Init_Config();
GPIO_Config();
USART1_Init_Config(115200);
while(1)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==1)
{
UART1_SendString("检测到人\r\n");
}
}
}
PB12口我没接任何东西,if语句判断一直成立,所以串口一直发送检测到人。
请问一下,为什么PB12口初始化后,读取PB12口一直是高电平
|
|