mooncdj 发表于 2019-7-16 19:33:35

STM8L050芯片GPIO在输入状态下为什么不能读端口电平

我将GPIO配置成输入的模式,想要读取GPIOA Pin3的电平变化,但是PA_IDR寄存器显示一直是0x0F,不管外部电平怎么变化,寄存器都不会变化

端口初始化:GPIO_Init(GPIOA, GPIO_Pin_3, GPIO_Mode_In_FL_No_IT);

读取端口电平的语句:while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3) == RESET)

跪求大神解答,卡住挺久了的

mooncdj 发表于 2019-7-16 19:36:40

我万用表量出来外部电压已经是0V了,但是寄存器显示的还是0x0F
我试着把GPIO端口转换成输出模式,发现电平是可以变化的,而且IDR寄存器也随着改变,但在输入模式下寄存器就不会变化

wenyangzeng 发表于 2019-7-16 21:11:58

建议GPIOA_Pin_3设置为上拉模式而非浮动模式
GPIO_Init(GPIOA, GPIO_Pin_3, GPIO_MODE_IN_PU_NO_IT);

xd432 发表于 2019-7-19 17:43:27

FL的要接上拉电阻才行吧
页: [1]
查看完整版本: STM8L050芯片GPIO在输入状态下为什么不能读端口电平