- 主题:Re: linux下的gpio工作不起来,输出值变化不了。
头像不错
--
FROM 183.134.6.*
1)被复用为别的功能了
2)别的地方被更改了
UBOOT里用操作内存的方法,直接操作寄存器,如果这都不行,那就查硬件
--
修改:freynew123 FROM 222.67.190.*
FROM 222.67.190.*
+1
【 在 Norman 的大作中提到: 】
: 头像不错
--
FROM 222.128.25.*
是不是被 UART 外设占用了
【 在 toad888 的大作中提到: 】
: linux下的gpio工作不起来,输出值变化不了。
: 方法: 把gpio配置成led。
: dts有,配置成:
: ...................
--
FROM 39.144.45.*
【 在 freynew123 的大作中提到: 】
: 1)被复用为别的功能了
: 2)别的地方被更改了
: UBOOT里用操作内存的方法,直接操作寄存器,如果这都不行,那就查硬件
谢谢您。
硬件没问题,我只是echo 1 > gpio28/value
然后 cat gpio28/value 发现都配不进去。
引脚都是悬空的,然后接逻辑分析仪。
请教一个uboot软件直接操作管脚的问题。
如果真是uboot操作的管脚。那后面我的程序在request的时候,会不会出现busy?
如果我不request,就直接给gpio赋值,那么uboot阶段修改的值,是不是直接被覆盖,因为那个阶段已经过了。
难道还锁定gpio,不让他动了? 我觉得同样是软件操作,应该是后来有效吧?
第一秒uboot修改了gpio。
1分钟后,自己的ko模块或者应用程序再次修改(反复翻转)应该就听后面的吧?
自己的控制程序大概率也没有问题。4个pin我这么操作的:
for(int i,4,++){
gpio.setvalue(pins[i],1);
}
逻辑上,4个pin同等方式,一样的时间操作的。结果两个正常,两个不正常。
谢谢了。
--
修改:toad888 FROM 123.116.121.*
FROM 123.116.121.*
肯定是后面的覆盖前面的,很多CPU管脚有复用功能,但在UBOOT阶段复用的很少
可以直接用md命令操作寄存器试试看,GPIO无非是复用 输入输出配置而已
【 在 toad888 的大作中提到: 】
:
: 谢谢您。
: 硬件没问题,我只是echo 1 > gpio28/value
: ...................
--
FROM 222.67.190.*
linux下,直接查看一下寄存器,到底IO被复用成什么功能了
--
FROM 222.128.25.*
【 在 akywong 的大作中提到: 】
: linux下,直接查看一下寄存器,到底IO被复用成什么功能了
谢谢您。
--
FROM 123.116.121.*
pinmux配置没问题的话,是不是遇到od pin 了?
【 在 toad888 的大作中提到: 】
:linux下的gpio工作不起来,输出值变化不了。:方法: 把gpio配置成led。:dts有,配置成::MX6UL_P
--
FROM 114.246.101.*
还是先玩玩单片机
【 在 toad888 的大作中提到: 】
: linux下的gpio工作不起来,输出值变化不了。
: 方法: 把gpio配置成led。
: dts有,配置成:
: ...................
--
FROM 222.92.16.*