RISC-V技术william hill官网
直播中

yinwuqing

12年用户 2430经验值
擅长:MEMS/传感技术,嵌入式技术,接口/总线/驱动
私信 关注
[经验]

【昉·星光 2 高性能RISC-V单板计算机试用体验】Shell点灯

承接上期的开箱及装载Debian系统开箱贴,这期就运行在Debian系统上,简易操控一下板上的GPIO口,这里我们根据“快速参考手册”可知,板子上扩展出的两行排针的管脚分布。这里我们采用排针的16管脚,对应到核心板上的54引脚。
GPIO分布.png
再结合《VisionFive2_40-Pin_GPIO_Header_UG》文档说明,可以知道排针的管脚号与核心板上对应的引脚关系。
GPIO pin.png

然后我们在系统终端中依次输入如下命令:
1)配置GPIO54:
cd /sys/class/gpio
echo 54 | sudo tee export
#input password
2)进入到GPIO54目录:cd gpio54
3)将GPIO54设置为输出:echo out | sudo tee direction
4)将GPIO54设置为高电平,此时直接点亮外接的红色LED灯。
echo 1 | sudo tee value
5)将GPIO54设置为低电平,此时直接熄灭外接的红色LED灯。
echo 0 | sudo tee value
输入.jpg

根据以上简易测试,验证了GPIO54可以被手动控制输出高低电平,没有被其他资源占用,因此可以根据以上逻辑,编辑一段shell脚本,来实现灯间隔1s的闪烁。
在桌面新建一个gpio.sh文件,然后使用vim打开,在文件中编辑如下:

#!/bin/sh

GPIO_COMMON=/sys/class/gpio
GPIO_EXPORT=$GPIO_COMMON/export

gpio_54 = 54

function puts()
{
     echo "write $1 to $2"
     echo $1 | sudo tee $2
}

puts $gpio_54 $GPIO_EXPORT

puts out $GPIO_COMMON/gpio$gpio_54/direction

for((i=0; i<20; i++)); do
      echo "i=$i ..."
     puts 1 $GPIO_COMMON/gpio$gpio_54/value
      sleep 1
     puts 0 $GPIO_COMMON/gpio$gpio_54/value
done

然后:wq保存退出,sudo chmod u+x gpio.sh,更改一下文件的属性,进入到文件的当前目录,直接执行该脚本./gpio.sh即可。

效果展示

更多回帖

发帖
×
20
完善资料,
赚取积分