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 Ffor 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! Eecho $i > /sys/class/gpio/export
0 D. {  d! o: P$ [# s; A2 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/direction6 |% Q& q, ~+ a) b) j

* p+ d" ~- l, K+ mecho "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# eecho $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 Vobj-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