manhuami2007 发表于 2022-3-9 10:26

【平头哥Sipeed LicheeRV 86 Panel测评】 2-利用shell控制led闪烁

<div class="parsedown-markdown">
<blockquote>
<p>Shell是Linux的脚本语言,操作起来很简单,不需要编译,也不需要搭建开发环境。本次测评使用Shell语言编写一个LED闪烁的程序。</p>
</blockquote>

<h3>与核心板连接</h3>

<p>核心板上有一个type-c的USB接口,可以通过USB将核心板与PC连接。通过adb工具,就可以建立通信了。adb工具是安卓SDK中的一个工具,可以提供调试、通信的功能。</p>

<p>在windows的命令行下输入 <code>adb devices</code>,可以查看到当前连接的设备,如下图。</p>

<p><img alt="" src="2022-03-08-19-21-37.png" target="_blank" /></p>

<p>通过命令 <code>adb shell</code>,就可以像SSH一样与核心板建立连接。 <img alt="" src="2022-03-08-19-22-41.png" target="_blank" /></p>

<p></p>

<p>这样就可以使用VIM在核心板上建立一个shell文件了: <code>vim blink.sh</code></p>

<p>输入代码之后注意要增加一下文件的运行权限:<code>chmod +x ./blink.sh</code></p>

<h3>代码</h3>

<p>核心板上的LED是接在PC1上的,将其转化成IO的标号:2*32+1=65 。 代码如下:</p>

<pre>
<code>#!/bin/ash
echo 65 &gt; /sys/class/gpio/export
cd /sys/class/gpio/gpio65
echo out&gt;direction
for a in $(seq 1 5)
do
    echo 1 &gt; value
    sleep 0.5
    echo 0 &gt; value
    sleep 0.5
done</code></pre>

<h3>代码解释</h3>

<ol>
        <li>首先通过<code>echo 65 &gt; /sys/class/gpio/export</code> 将所用的IO导出,这样就可以通过文件的方式操作IO</li>
        <li>然后切换的文件所在路径 <code>cd /sys/class/gpio/gpio65</code></li>
        <li>可以通过ls指令查看gpio65 文件夹下的文件,其中direction文件设置IO时输入还是输出,value文件设置电平的值 <img alt="" src="2022-03-08-19-17-25.png" target="_blank" /></li>
        <li>通过echo指令向value文件中写1或0,控制LED的亮灭</li>
</ol>

<h3>效果</h3>

<p><img alt="" src="led_blink.gif" target="_blank" /></p>
</div>

<p>&nbsp;</p>
页: [1]
查看完整版本: 【平头哥Sipeed LicheeRV 86 Panel测评】 2-利用shell控制led闪烁