JZ2440通过sysfs控制gpio实现板载LED的控制
2018-03-12 12:35
393 查看
移植环境(红色粗字体字为为特别注意内容)
1,开发板:韦东山JZ2440。
2,linux 版本:linux-3.4.2
3、参考文献:
http://blog.csdn.net/coroutines/article/details/44020819、http://blog.sina.com.cn/s/blog_b01e1c0a0102v0nv.html、http://blog.csdn.net/elitah/article/details/16981507、http://blog.csdn.net/qq_31505483/article/details/54583143、http://blog.csdn.net/fyyy4030/article/details/6704707
一、环境配置,按照我的上一篇文章配置好之后,可在/sys/class/下生成gpio文件夹[root@UnixHost ]# ls /sys/class/gpio
export gpiochip0 gpiochip160 gpiochip224 gpiochip32 gpiochip96
gpio165 gpiochip128 gpiochip192 gpiochip256 gpiochip64 unexport二、控制板载LED
下面控制板载的LED,由这篇文章http://blog.csdn.net/qq_31505483/article/details/54583143,可知板载LED的引脚分别为:GPF4 GPF5 GPF6,于是根据这篇文章http://blog.csdn.net/coroutines/article/details/44020819,gpioN的N是由n*32 + m得来,n是第n个gpio模块,m是寄存器第m位以及这篇文章http://blog.csdn.net/fyyy4030/article/details/6704707,描述如下:
很显然, S3C2410_GPB(5)就是从GPA的首地址+GPA个数+GPB的offset就是当前GPB的IO偏移量,即
0+32+5=37, 同理
S3C2410_GPB(0) 相当于 32
30 S3C2410_GPB(5) 相当于 37
31 S3C2410_GPB(6) 相当于 38
32 S3C2410_GPB(7) 相当于 39
33 S3C2410_GPB(8) 相当于 40
以及这篇文章:http://blog.csdn.net/elitah/article/details/16981507,描述如下:
除了特殊功能的引脚外,S3C2440A拥有130 个多功能GPIO引脚,共9组:
– 端口A(GPA):25 位输出端口
– 端口B(GPB):11 位输入/输出端口
– 端口C(GPC):16 位输入/输出端口
– 端口D(GPD):16 位输入/输出端口
– 端口E(GPE):16 位输入/输出端口
– 端口F(GPF):8 位输入/输出端口
– 端口G(GPG):16 位输入/输出端口
– 端口H(GPH):9 位输入/输出端口
– 端口J(GPJ):13 位输入/输出端口计算得出GPF5的引脚号为5*32+5=165,于是根据这篇文章http://blog.sina.com.cn/s/blog_b01e1c0a0102v0nv.html,进行以下操作:#导出的GPIO
echo 165 > /sys/class/gpio/export
#LED亮
echo out > /sys/class/gpio/gpio165/direction
#LED 灭
echo 1 >/sys/class/gpio/gpio165/value
#取消导出的GPIO
echo 165 > /sys/class/gpio/unexport从而实现了LED的控制,于是写了以下的脚本测试LED。实现指定LED的亮灭交替闪烁:[root@UnixHost ]# vi /bin/ledtest.sh
#! /bin/sh
echo $1 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$1/direction
while :
do
echo 1 > /sys/class/gpio/gpio$1/value
sleep 1
echo 0 > /sys/class/gpio/gpio$1/value
sleep 1
done执行ledtest.sh 165即可实现LED的亮灭交替变化,拿走不谢~~··
。
1,开发板:韦东山JZ2440。
2,linux 版本:linux-3.4.2
3、参考文献:
http://blog.csdn.net/coroutines/article/details/44020819、http://blog.sina.com.cn/s/blog_b01e1c0a0102v0nv.html、http://blog.csdn.net/elitah/article/details/16981507、http://blog.csdn.net/qq_31505483/article/details/54583143、http://blog.csdn.net/fyyy4030/article/details/6704707
一、环境配置,按照我的上一篇文章配置好之后,可在/sys/class/下生成gpio文件夹[root@UnixHost ]# ls /sys/class/gpio
export gpiochip0 gpiochip160 gpiochip224 gpiochip32 gpiochip96
gpio165 gpiochip128 gpiochip192 gpiochip256 gpiochip64 unexport二、控制板载LED
下面控制板载的LED,由这篇文章http://blog.csdn.net/qq_31505483/article/details/54583143,可知板载LED的引脚分别为:GPF4 GPF5 GPF6,于是根据这篇文章http://blog.csdn.net/coroutines/article/details/44020819,gpioN的N是由n*32 + m得来,n是第n个gpio模块,m是寄存器第m位以及这篇文章http://blog.csdn.net/fyyy4030/article/details/6704707,描述如下:
很显然, S3C2410_GPB(5)就是从GPA的首地址+GPA个数+GPB的offset就是当前GPB的IO偏移量,即
0+32+5=37, 同理
S3C2410_GPB(0) 相当于 32
30 S3C2410_GPB(5) 相当于 37
31 S3C2410_GPB(6) 相当于 38
32 S3C2410_GPB(7) 相当于 39
33 S3C2410_GPB(8) 相当于 40
以及这篇文章:http://blog.csdn.net/elitah/article/details/16981507,描述如下:
除了特殊功能的引脚外,S3C2440A拥有130 个多功能GPIO引脚,共9组:
– 端口A(GPA):25 位输出端口
– 端口B(GPB):11 位输入/输出端口
– 端口C(GPC):16 位输入/输出端口
– 端口D(GPD):16 位输入/输出端口
– 端口E(GPE):16 位输入/输出端口
– 端口F(GPF):8 位输入/输出端口
– 端口G(GPG):16 位输入/输出端口
– 端口H(GPH):9 位输入/输出端口
– 端口J(GPJ):13 位输入/输出端口计算得出GPF5的引脚号为5*32+5=165,于是根据这篇文章http://blog.sina.com.cn/s/blog_b01e1c0a0102v0nv.html,进行以下操作:#导出的GPIO
echo 165 > /sys/class/gpio/export
#LED亮
echo out > /sys/class/gpio/gpio165/direction
#LED 灭
echo 1 >/sys/class/gpio/gpio165/value
#取消导出的GPIO
echo 165 > /sys/class/gpio/unexport从而实现了LED的控制,于是写了以下的脚本测试LED。实现指定LED的亮灭交替闪烁:[root@UnixHost ]# vi /bin/ledtest.sh
#! /bin/sh
echo $1 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$1/direction
while :
do
echo 1 > /sys/class/gpio/gpio$1/value
sleep 1
echo 0 > /sys/class/gpio/gpio$1/value
sleep 1
done执行ledtest.sh 165即可实现LED的亮灭交替变化,拿走不谢~~··
。
相关文章推荐
- 树莓派通过GPIO口获取温度以及控制LED灯
- 【DM8168】Linux下控制GPIO实现LED流水灯
- 控制GPIO, 点亮led,实现跑马灯
- P1口外接8个LED,通过按键控制,实现左右移动的流水灯
- 通过sysfs方式控制GPIO
- cgi控制led,通过网络www实现
- SylixOS下监控控制LED的GPIO电平的一种不规范实现方式
- W5500通过上位机控制实现调节LED灯带的亮度
- 重新想象 Windows 8.1 Store Apps (90) - 通信的新特性: 通过 HttpBaseProtocolFilter 实现 http 请求的缓存控制,以及 cookie 读写; 自定义 HttpFilter; 其他
- 通用GPIO驱动和apk(含jni),支持所有GPIO,支持LED控制,支持友善6410/210开发板,支持安卓2.3/4.0,内核2.6/3.0
- [WCF权限控制]通过扩展自行实现服务授权[提供源码下载]
- 通过API实现C#对硬件的控制(一)
- 通过JS控制CSS实现连帧动画
- 通过CSS控制图片样式,实现图片弹出效果
- ESP8266-01之NodeMCU(lua)实现远程控制LED灯
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- Dynamics CRM 2015 通过JS控制下拉框实现国家省市级联
- 通过API实现C#对硬件的控制(三)
- 用Quartus电路块图编程实现一个开关控制所有LED灯
- 通过 API 实现 C# 对硬件的控制(二)