一、继电器
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)