JZ2440通过sysfs控制gpio实现板载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 位输入/输出端口

扫描二维码关注公众号,回复: 911393 查看本文章

计算得出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的亮灭交替变化,拿走不谢~~·· 大笑 大笑 大笑



猜你喜欢

转载自blog.csdn.net/pang9998/article/details/79525209
今日推荐