• 第七章 LED为我闪烁:控制发光二极管


     该Linux驱动用来控制开发板上的4个LED灯,即通过向Linux驱动发送数据可以控制LED灯的开关。LED驱动提供两种交互方式:命令和读写设备文件。

    测试LED驱动之前需用USB线连接开发板,然后打开开发板。成功启动后,执行build.sh脚本文件编译和安装LED驱动。build.sh脚 本文件会自动将s3c6410_leds.ko文件上传到开发板并安装。LED驱动只能在开发板上安装,build.sh执行了 build_s3c6410.sh脚本文件进行编译和安装。LED驱动会建立一个/dev/s3c6410_leds设备文件,该Linux驱动可控制4 个LED,通过向设备文件发送长度为1到4的字符串可以控制这4个LED的开关。1表示开,0表示关。字符串长度不足4个,相当于后面补0。执行命令

    “# adb shell "echo '1'> /dev/s3c6410_leds" #打开第一个LED,其他的都关闭

    # adb shell "echo '1010'> /dev/s3c6410_leds" #第一个和第三个LED打开,第二个和第四个关闭

    # adb shell "echo '1111'> /dev/s3c6410_leds" #打开所有的LED”可控制开发板上的LED。可使用命令“# sh ~/drivers/s3c6410_leds/test_leds.sh”执行test_leds.sh脚本文件测试LED。执行脚本文件后,开发板上 的4个LED会根据0到15的二进制形式控制LED,第一个为最低位。脚本文件使用的是标准的Bash Shell,如果在Ubuntu下无法成功执行,是因为其将dash作为默认的脚本解析器。可使用命令“# dpkg-reconfigure dash”将默认脚本解析器改成Bash,出现设置界面时,选择“否”,再回车即可。

  • 相关阅读:
    【Demo 0087】线程创建使用消亡
    【Demo 0083】查看进程启动时间
    【Demo 0080】进程
    关于.vhd文件的一个问题
    此服务器上的时间与主域控制器的时间不一致解决方法
    centos5.6下安装mysql5.5.16
    杂谈,入社见闻录
    Oracle 11g学习笔记(1)
    Oracle 11g学习笔记(2)
    转:如何彻底卸载MySQL
  • 原文地址:https://www.cnblogs.com/menmenda/p/5562937.html
Copyright © 2020-2023  润新知