EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本章节介绍的是在 linux 系统环境下 linux-C 调用 shell 命令控制GPIO输入输出步骤。shell 作为Linux 操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称,它解释由用户输入的命令并且把它们送到内核。 使用shell命令直接操作/sys/下的gpio节点,首先在imx6ull-14x14-evk.dts注释掉设备树的 LED和按键功能,LED引脚为GPIO0_3,key引脚为GPIO1_18。 在程序中通过shell命令读取按键值和控制LED灯。 ![]()
' M- d6 F% ~/ d5 {. O: u: H7 I![]() 7 E+ D; d% q; \& E" i1 q& v/ {
1.通过popen执行shell命令 popen和pclose函数实现的功能是创建一个管道,用来连接到另一个进程,然后读那个进程的输出或向它发送输入,具体操作是fork一个子进程,exec一个shell执行命令。 ![]()
. f x* U' `: H$ Q9 P2.填写shell命令,设置引脚状态 ![]() 1 w) w2 U. h+ H4 u5 A9 g* P9 y
3.控制Led ![]()
d: ?. s+ p1 M交叉编译ARM-linux-gnueabihf-gcc -o led shellGpio.c ,将led文件拷贝到开发板。 ![]()
$ Z& M( T, N! x6 T$ R C测试可看到开发板的灯在闪烁,终端有打印信息: ![]() % x) E7 K/ M7 a! E
4.读取按键值 ![]() ) _5 h" a5 T P9 y u3 m
编译后测试: ![]() ' D: z& N9 n8 }" z q# v$ N* B; K: N7 Q
好物推荐-迅为品质IMX6ULL开发板 ![]() % S+ v/ D! C* x+ J% `: m L
|