AM335x GPIO的三种调用方式
来源:互联网 发布:mac开机什么都没有 编辑:程序博客网 时间:2024/06/06 07:59
参考:http://www.myir-tech.com/bbs/forum.php?mod=viewthread&tid=7220
1.内核空间中调用GPIO
请求GPIO
err = gpio_request(30,
"sample_name"
);
设置GPIO方向
gpio_direction_input(30);
GPIO30为输出并且置高
gpio_direction_output(30, 1);
导出GPIO30到sysfs用户空间
gpio_export(30,
true
);
读GPIO30
gpio_get_value(30);
用户空间中shell方式调用GPIO
(1)、GPIO目录
在ARM Linux中,GPIO驱动的目录是:/sys/class/gpio/,所以,要首先进入这个目录,命令:
1
$
cd
/sys/class/gpio/
(2)、目录解析
使用ls命令查看目录详情:
1
2
3
$
ls
-l
export
gpiochip128 gpiochip64 unexport
gpiochip0 gpiochip32 gpiochip96
如上列出了5个gpio目录、export、unexport文件。gpio目录对应基地址,比如芯片的IO定义为PA0~PA31、PB0~PB31等等,那么PA对应的base就是gpiochip0,PB对应的base就是gpiochip32,以此类推。例如 PB12对应的就是 gpio43。
(3)、控制实例
比如要实现控制 PB12 口,先生成一个gpio43 目录:
1
2
3
4
$
echo
43 >
export
$
cd
gpio43
$
ls
active_low direction edge power subsystem uevent
(4)、控制
1
2
3
4
5
6
$
cat
direction
#查看方向
in
$
echo
out > direction
#设置为输出
$
cat
value
#获取值
0
$
echo
1 > value
#设置为1
用户空间中C代码方式调用GPIO
01
02
03
04
05
06
07
08
09
10
11
12
// echo "out" > /sys/class/gpio/gpio30/direction
pFile =
fopen
(“/sys/
class
/gpio/gpio30/direction”, “w”);
fwrite
(“out”, 1,
sizeof
(“out”), pFile);
fclose
(pFile);
// echo 1 > /sys/class/gpio/gpio30/value
pFile =
fopen
(“/sys/
class
/gpio/gpio30/value”, “w”);
fwrite
(“1”, 1,
sizeof
(“1”)-1, pFile);
// cat /sys/class/gpio/gpio30/value
fread
(myArray, 1, 1, pFile);
fclose
(pFile);
阅读全文
0 0
- AM335x GPIO的三种调用方式
- 三种方式控制NanoPi2的GPIO
- linux下AM335X的GPIO控制
- 基于linux 的 AM335X GPIO 调试日志
- Linux下AM335X的GPIO控制
- Am335x 之GPIO控制
- am335x gpio驱动
- Am335x 之GPIO控制
- SSIS包的三种调用方式
- 动态调用webservice的三种方式
- Struts2方法调用的三种方式
- axis2 webservice 调用的三种方式
- Struts2方法调用的三种方式
- Struts2方法调用的三种方式
- Struts2方法调用的三种方式
- axis2 webservice 调用的三种方式 .
- Struts2方法调用的三种方式
- Hive的三种调用方式
- java之Socket无法完全接收返回内容
- 1010.一元多项式求导
- POJ2739 Sum of Consecutive Prime Numbers
- 屏蔽谷歌浏览器的自动更新
- css属性中的优先级
- AM335x GPIO的三种调用方式
- 读《美国创新史》
- git随笔
- maven依赖(范围、传递、排除、冲突)
- opencv 特征点提取、匹配(二)
- Linux SSh scp使用【远程文件/目录的传输】
- spring security 从入门到精通一 环境搭建
- 算法心得
- 1014. 福尔摩斯的约会 (20)