周立功imx287 gpio_get_value函数返回值问题

gpio_get_value(MXS_PIN_TO_GPIO(p_gpio->pin));

这个函数的返回值并不是想当然的高电平返回1,低电平返回0,

高电平返回的不是1 返回的是寄存器gpio寄存器的值
如:

p2.7 引脚电平为高时,输出的值是0x80 (2进制:1000 0000) 第7bit为高
p3.26 引脚为高电平时,输出的值是0x4000000 (2进制:0100 0000 0000 0000 0000 0000 0000)第26bit为高

 所以收到这个函数的返回值时根据pin的引脚判断一下,或者直接判断这个值非0  就认为是高电平就行

原文地址:https://www.cnblogs.com/emlsyx/p/12312876.html