EDA365电子论坛网
标题:
GPIO怎样修改呢呀????
[打印本页]
作者:
uiabluqp
时间:
2019-7-16 17:12
标题:
GPIO怎样修改呢呀????
GPIO怎样修改呢呀????
' ]" u7 c* k E+ T) k( I8 E4 w
作者:
adogpp
时间:
2019-7-16 18:08
一下几种方法参考一下:
4 n5 l& z0 D9 P7 |# K" }& V# x C
$ z; u. g5 D2 H2 k& l9 q' q! C* b
% m' v/ r7 T' O
方法一:采用iomux的方法
: J/ |' ^/ F/ @$ S3 t$ L
在设备树中iomux中添加复用gpio引脚如下:
% T+ ]* q2 f2 v
* ]) M! A: Y# |
" m4 q6 E) d6 |: l$ `( k% o5 F
for i in /sys/class/gpio/* ; do cat $i/label; cat $i/base; echo; done 查询gpio的base
B& ~2 m- `) ^) B
+ K# q" b6 G6 ]6 B5 z6 Y
一般可以这样计算GPIOn_IOx = (n-1)*32 + x
1 l0 j) b: Y4 O; z
* N# ^' o$ f/ u$ I( s
此时可以使用echo命令进行控制:
/ ?! X x' G& x3 O" d8 F+ w
命令为:
% m. w4 X4 j; B! E
echo $i > /sys/class/gpio/export
0 D. { d! o: P$ [# s; A
2 Y4 M" s% a' z8 A+ f: W/ Q( }
echo "out" > /sys/class/gpio/gpio$i/direction
/ U8 m3 o' s$ z5 ?" X$ r
或echo "in" > /sys/class/gpio/gpio$i/direction
6 |% Q& q, ~+ a) b) j
* p+ d" ~- l, K+ m
echo "1" > /sys/class/gpio/gpio$i/value
! _: c( @3 s: n4 H* B6 f% o
echo "0" > /sys/class/gpio/gpio$i/value
$ }: D8 ?* U8 }+ y) A1 g# N9 u' I
- L" |/ A3 J; z# R# e
echo $i > /sys/class/gpio/unexport
& M% }! J5 j1 X' |: [: ^
或者使用 open("/sys/class/gpio/export", O_WRONLY); write函数进行控制。参考test.c。
& T, A, F2 F% v' C% n& w6 t
; G0 F/ h; X$ v) q9 j
方法二:创建dev/gpio节点。
7 D) b; v; j' W: z/ A3 e9 |- K
3 b. y9 R! j6 D! T
( e& P) p6 m! |' b, E: B
添加driver/misc/gpio/gpio-user.c,修改Makefile文件编译。
- s# J( {: q0 n' ?
修改 driver/misc/Makefile 添加:
0 K% E) r- D, R& v, [8 p0 `5 }$ s; v4 V
obj-y += gpio/
5 I! h( ?: S4 d$ e- t4 Y
在linux_imx6ul_config中添加:
3 y1 s& ?( D L" ]* B/ r9 i" f
CONFIG_GPIO_USER_INTF=y
0 t$ D: ~5 q9 Y5 P
编译之后。在dev下有gpio节点。
, `$ S6 D, ~3 y5 ~, e
采用gpio-test.c为用户测试程序。编译为gpio-test。
) M) \' `7 L. B6 n. w$ h
- b5 |2 f8 |9 I6 M' Y v2 i
8 x5 R+ [( ]) E) {4 ]- U3 y
使用gpio-test in 2测试DI。
- F) ?; N# f4 h8 U
使用gpio-test out 9 1 测试DO 输出为高电平。
) Z: ]! u3 E+ `' ^
使用gpio-test out 9 0 测试DO 输出为低电平
8 u4 Z5 f* C( V
作者:
sunygd
时间:
2019-7-16 19:03
adogpp 发表于 2019-7-16 18:08
1 _- {: M: P0 i- Z6 X% N4 @+ l
一下几种方法参考一下:
4 I4 \- ]& X4 K
大神很牛
9 y8 R% O# R. B) ~9 @
2 ^. J1 w F5 l6 g. ^
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2