设为首页收藏本站
查看: 16391|回复: 0

[应用笔记] AM335x GPIO的三种调用方式

[复制链接]

21

主题

21

回帖

575

积分

管理员

积分
575
oneal.tang 发表于 2015-6-2 18:57:00 | 显示全部楼层 |阅读模式
本文将就AM335x Linux系统中,GPIO的三种调用方法进行说明,1)即内核空间中使用GPIO;2)用户空间C代码方式使用GPIO;3)用户空间中shell方式使用GPIO。其中shell方式我们之前的文档介绍过,这里将着重介绍1)和2)两种方式。

内核空间中调用GPIO

请求GPIO
[mw_shl_code=c,true]err = gpio_request(30, "sample_name");[/mw_shl_code]
设置GPIO方向
[mw_shl_code=c,true]gpio_direction_input(30);[/mw_shl_code]
GPIO30为输出并且置高
[mw_shl_code=c,true]gpio_direction_output(30, 1);[/mw_shl_code]
导出GPIO30到sysfs用户空间
[mw_shl_code=c,true]gpio_export(30, true);[/mw_shl_code]
读GPIO30
[mw_shl_code=c,true]gpio_get_value(30);[/mw_shl_code]

用户空间中shell方式调用GPIO

请参考:
http://bbs.myir-tech.com/thread-6195-1-1.html

用户空间中C代码方式
调用GPIO


[mw_shl_code=c,true]        // 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);[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-12-28 06:40 , Processed in 0.040380 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表