BeagleBone Black板第五课:Shell脚本编程实验

BBB板第五课:Shell脚本编程实验

在一上课我们通过简单的echo命令测试并控制GPIO端口的高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过Shell脚本编程,来完成两个LED指示灯的交替闪亮的实验。

实验器材:准备两个二极管指示灯,面包板等

使用GPIO端口P8.12和P8.11两个引脚

我们暂时不借助其他工具软件,直接远程登陆到BBB板的图形桌面,使用内置的Ledfpad编辑器来完成Shell脚本的编程。

远程登陆BBB板图形桌面还记得吧,不记得话参考前面的课程,这里就不另说明了。按下图点击左下角的菜单,选择点击进入Leafpad。

打开编辑器后如下图,然后输入以下Shell命令代码:

脚本实现功能:实现两个LED指示灯每隔一秒交替闪亮10次

按照图中的脚本一字一句输入就行了,其中Shell基础知识一点都不清楚的话多百度下吧,上面有很多相关知识。这里我就脚本led1(我保存的名字,不需要后缀,不过最好加上后缀sh吧,比较容易识别,led1.sh就知道是shell脚本程序)简单作如下说明:

第一行代码:#!  是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell,这里使用bash解释器,写全路径,可以在BBB板/bin目录下找到bash

#!/bin/bash

以下两行代码,是用来打开gpio44和gpio45,增加了一个判断条件,如果不存在则执行echo命令打开相应端口:

if  [ ! –d  /sys/class/gpio/gpio44 ];  then echo 44 > /sys/class/gpio/export; fi

if  [ ! –d  /sys/class/gpio/gpio45 ];  then echo 45 > /sys/class/gpio/export; fi

以下两行代码为实现将端口都设置为输出模式“out”:

echo out > /sys/class/gpio/gpio44/direction

echo out > /sys/class/gpio/gpio44/direction

以下for循环语句实现10次两个LED交替输出高低电平1或0,其中sleep是延时命令:

for ((i=0;i<10;++i))

do

echo 1 > /sys/class/gpio/gpio44/value

echo 0 > /sys/class/gpio/gpio45/value

sleep 1

echo 0 > /sys/class/gpio/gpio44/value

echo 1 > /sys/class/gpio/gpio45/value

sleep 1

done

最后这两行代码就是关闭LED灯而已,相当于恢复原状态:

echo 0 > /sys/class/gpio/gpio44/value

echo 0 >  /sys/class/gpio/gpio45/value

还可以增加以下两行代码关闭掉gpio44和gpio45:

echo 44 > /sys/class/gpio/unexport

echo 45 > /sys/class/gpio/unexport

程序代码解释完毕,需要更详细的Shell信息只有靠自己进一步学习了,这里主要是简单学习下,并知道使用Shell脚本编程的简洁和强大,当然C++等语言的功能会更强大,以后的编程实验中,主要就使用C++语言进行讲解了。

以上脚本代码编写结束后,保存好,就可以进入终端模式执行了。

直接进入脚本的保存目录下执行:# bash led1  (或 # bash led1.sh)就可以看到两个灯交替闪亮了:

(完)

BeagleBone Black板第五课:Shell脚本编程实验,布布扣,bubuko.com

时间: 2024-12-28 15:27:54

BeagleBone Black板第五课:Shell脚本编程实验的相关文章

BeagleBone Black板第六课:C++编程控制GPIO基础

BBB板第六课:C++编程控制GPIO基础 在一上课我们通过Shell脚本编程实现了对GPIO端口的简单输出控制,实现对两个LED指示灯的交替点亮和关闭,接下来的一两节课,将通过C++程序来实现Shell脚本的功能.为了实现对应的程序控制,我查阅了好多资料,测试过程中发觉网上的一些程序套用过来总是出现各种各样的编译错误,压根就控制不了BBB板,不知是我的BBB板太新,还是以前的程序太旧.最后还是从头开始,重新研究BBB板的文件系统,找出头文件,找出所有相关的函数,终于实现GPIO的C++程序控制

BeagleBone Black板第七课:GPIO编程控制

BBB板第七课:GPIO编程控制 在一上课我们通过IO函数做了简单的GPIO端口输出高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过完整的C++程序,实现第四课Shell脚本的全部功能,实现两个LED指示灯的交替闪亮. 直接通过进入功能程序 1.实现echo 44 > export 打开端口功能 上一课简单测试中,通过手工在BBB板终端模式下打开gpio44端口可通过以下程序实现: #include <stdio.h> #define GPIO_DIR "/sy

Linux学习第九节课-shell脚本编程

Linux第九节课 -------------------------------------------------------------------------------------------------------------------------------- 程序:算法+数据结构 数据:程序的核心 算法:处理数据的方式 程序编程风格 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 高级编程语言 编译:高级语言→编译器→机器代码→执行,例如c,c++等

BeagleBone Black板第八课:建立Eclipse编程环境

BBB板第八课:建立Eclipse编程环境 最近新建了一个编程环境,感觉到非常方便,分享给大家.之前除了在BBB板远程桌面直接编写shell脚本或C程序外,通过Debain 7.5系统下使用编辑软件也试过,写完程序还是转存到BBB板编译,反正觉得挺麻烦.不熟悉linux是个原因,但没汉化的软件更是个问题.最后重新回来熟悉的XP的环境,根据网上一些点子,安装Eclipse C/C++,没想到用过后感觉非常好,起码现阶段是认可.特别是对我这种初学者来说,真的觉得方便.好用. 我的基本环境是Windo

BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板

BBB板第三课:Debian7.5系统安装和远程控制BBB板 因为BBB板系统是Debian 7.4,据说使用Debian系统可以实现很多BBB板的无缝连接,可以更好的学习和控制BBB板,所以就决定下载Debian7.5系统安装,采用虚拟机的安装方式. 一.系统安装 1.我下载了Debian7.5 32位系统,有三张DVD盘,网上有不少安装资料了,我这里就不详细介绍安装过程了.不过有一点可能很多人都会遇到的问题,就是安装过程中提示插入光盘的问题.虚拟机是Vmware workstation 10

Shell脚本编程知识点总结及范例

 一:关于语言 1)编译性语言 编译型语言多半运作于底层,所处理的是字节.整数.浮点数或其它及其机器层经的对象.处理过程为:源程序--预处理--编译--汇编--链接,编译性语言为静态语言. 2)解释性语言 解释性语言读入程序代码并将其转化为内部的形式加以执行.处理过程:解释性(文本文件)-解释器去读取并执行.解释性语言为动态语言. 二:基础 变量类型 linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高级编程语言中变量的使用)bash变量类型分为本地变量和环境变量. 本地变量

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假

shell脚本编程进阶练习题

这两天学习了shell脚本编程进阶,作为一枚文科生,小编觉得...恩..脚本很烧脑.....,不过小编还是做了些题,稍作总结后,呈给各位看官,内容如下: 一.条件选择if语句 选择执行: 注意:if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; t

Linux中的shell脚本编程——基础篇

概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础.脚本基本格式.变量.运算.条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容. 一.编程环境 1.程序:指令+数据 程序编程的风格有两种: 过程式:以指令为中心,数据服务与指令 对象式:以数据为中心,指令服务于数据 2.程序的执行方式: □计算机:只能识别二进制文件