Orangepi Zero2 全志H616:继电器开发,gcc链接库,shell脚本

文章介绍了如何使用RaspberryPi通过wiringPi库控制继电器,包括配置IO口、编写C程序以及使用shell脚本来编译程序。在编译过程中,由于库的依赖,需要在Makefile中添加链接库指令。此外,文章还讨论了shell脚本的参数传递优化,以便能编译不同的源文件。
摘要由CSDN通过智能技术生成

一、继电器

1、继电器IO口链接开发板

2、调用wiringPi库配置引脚

  1 #include <stdio.h>
  2 #include <wiringPi.h>
  3 #include <unistd.h>
  4 #define JD 0   //设置针脚0为继电器的控制引脚
  5
  6 int main (void)
  7 {
  8     wiringPiSetup () ;//初始化wiringPi库
  9
 10     pinMode (JD, OUTPUT) ;//设置IO口的输入输出,这里为输出
 11     while(1){
 12        
 14         digitalWrite (JD, HIGH) ; //设置IO口输出高电平,继电器关闭
 15         sleep(1);
 17         digitalWrite (JD, LOW) ;  //设置IO口输出低电平,继电器打开
            sleep(1);
 18     }
 19     return 0;
 20 }

二、链接库

链接库理由:代码中调用官方库函数后,直接gcc编译会出现如下报错,因此在编译的时候需要链接库

查找库指令:Makefile 在要查找库的路径后加上命令Makefile

vi ./wiringOP/examples/Makefile
orangepi@orangepizero2:~$ vi ./wiringOP/examples/Makefile

在gcc编译后面加上链接库,编译通过

三、shell脚本编写

①创建脚本文件

orangepi@orangepizero2:~/hardwareSoft$ vi bulid.sh

②在文件中写入内容

gcc  gcc bink.c -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt

③为shell添加权限:shell脚本没有权限,给它加一个可执行的权限

编译说明:①执行脚本后生成可执行程序a.out;
②在执行a.out时,需要加上超级用户权限sudo;
● 使用传参优化的原因:上面的shell脚本,无法编译其他文件,只能编译blink.c文件
● shell脚本传参数说明:美元符号就是参数
参数1:$0
参数2:$1
依此类推......
脚本示例:

①对shell脚本的传参优化

执行原理:
优化后的脚本:

执行结果:成功生成可执行程序a.out(执行a.out加超级用户权限sudo)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌兮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值