欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NXP i.MX6 GPIO value值读取为0

程序员文章站 2022-04-28 07:56:30
...

项目场景:

眺望电子TW-IMX6DL-EVM开发板上开发时发现,即使IO口设置为输出状态,设置其电平为高,硬件上测量电平也是对的,但是gpio_get_value获取的状态一直是0。

编译环境及开发包:
主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-IMX6DL-EVM
Linux:Linux-4.1.15
串口工具:Xshell

注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6 ARM嵌入式平台,这是一个基于NXP iMX6 ARM处理器,支持单核/双核Cortex-A9的核心板。


解决方案:

1.配置SION位,使IO口在输出状态下可以正确获取状态。

这里以DTS配置为例:
&iomux {
    pinctrl-name = "default";
    pinctrl-0 = <&pinctrl_hog_1>;
    imx6ul-evk {
        ...
        /* 第29位配置为4,即表示设置SION位 */
        MX6UL_PAD_GPIO1_IO09__GPIO1_IO09    0x40017059 
        ...
    };
    ...
};

2.参考资料:

drivers/pinctrl/freescale/pinctrl-imx.c 

关键词:IMX_PAD_SION

链接:https://pan.baidu.com/s/1aqtemSU9qNeRRfHVrvq5uw
提取码:twdz

上一篇: 刻意编程D6

下一篇: jQuery CSS