mameng 发表于 2020-11-15 21:22:58

【创龙TL335x-EVM高性能开发板】 测评之三;LED驱动

创龙TL335x-EVM高性能开发板LED0 为电源指示灯,系统上电默认点亮。评估底板 LED1、 LED2 和 LED3 为用户可编程指示灯,通过 GPIO 控制,默认高电平点亮。电路原理图如下:




LED驱动可以通过echo指令实现。
echo 0 > /sys/class/leds/user-led0/brightness
echo 0 > /sys/class/leds/user-led1/brightness
echo 0 > /sys/class/leds/user-led2/brightness

DELAY_TIME=1

#led loop
while true; do
    echo 1 > /sys/class/leds/user-led0/brightness
    sleep $DELAY_TIME
    echo 0 > /sys/class/leds/user-led0/brightness
    echo 1 > /sys/class/leds/user-led1/brightness
    sleep $DELAY_TIME
    echo 0 > /sys/class/leds/user-led1/brightness
    echo 1 > /sys/class/leds/user-led2/brightness
    sleep $DELAY_TIME
    echo 0 > /sys/class/leds/user-led2/brightness
done   
    设备树文件已配置好这个IO,可以通过echo指令写入一定值到 brightness去控制LED的高低电平。brightness也是一个驱动节点,驱动会检测这个节点的内容作出不同的处理。





echo命令: 用于字符串的输出

1.显示普通字符串:
echo "It is a test"


这里的双引号完全可以省略,以下命令与上面实例效果一致:

echo It is a test

2.显示转义字符:
echo "\"It is a test\""
结果将是:
"It is a test"
同样,双引号也可以省略

3.显示变量:
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/sh
read name
echo "$name It is a test"

以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

# sh test.sh
OK                     #标准输入
OK It is a test      #输出4.显示换行:

echo -e "OK! \n" # -e 开启转义
echo "It it a test"

输出结果:

OK!

It it a test


5.显示不换行:
#!/bin/sh
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"
输出结果:OK! It is a test
转义

    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \\ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;

6.显示结果定向至文件:
echo "It is a test" > myfile





页: [1]
查看完整版本: 【创龙TL335x-EVM高性能开发板】 测评之三;LED驱动

Baidu
map