树莓派外设开发接口文档参考

wiringPi(特定平台,特定功能接口) 库(Linux 动态库 .so   静态库.a)

API      printf   是c 的标准库

1、树莓派的接口

(所谓的外设开发编程就是我们说的接口)

io口:  input          output          对主控芯片来说

input相关的模块: 人体(传感器),火焰,振动等

Output相关的模块:继电器   ,蜂鸣器

(实现某些控制)

PWM:电机调速,灯光调明亮度

语音识别模块,液晶屏

(比如项目中定死了,就用树莓派,你买了一个屏幕是SPI的,那你就要用SPI的协议,去写树莓派的代码,让他跟液晶屏调试起来

如果你买的语音模块是串口的,同样的,要用树莓派的串口编程,与这个语音模块配合起来)

串口 uart

IIC

SPI

IIS

其他特定硬件的接口:flash..

Nanopi:Linux

S3c2410,2440 6410

Tiny210 tiny 4412

海思方案,瑞星微方案,移远方案

c51,STM32,Arduino,WemosD1(纯逻辑的开发):没有OS(Linux)

2、树莓派的接口函数

如何检查树莓派有没有wiringPI?

这就是装了wiringPi库,你没装的话,他会提示指令不认识

你要用别人编好的piringPI库,要加个-l

 注意看这里

相关的代码

我们里面先什么也不写

我们克隆一下这个窗口

出现这样的情况是因为我们在窗口一打开了这个文件

O是以只读的方式打开 ,E是可以编辑它  ,R重新加载 ,Q退出 ,A 放弃

原因是ls -a

解决方案一:把前面的窗口关上

解决方案二:删掉隐藏文件

然后我们继续编辑

运行

1、树莓派控制继电器

接线正确的话红灯会亮起

(ucc连接3.3v,GND连接0v)

他是一个可编程的电子开关,io口控制才会吸铁派片

Gpio既能输入,也能输出,是通用的

现在我想做一件事情,键盘输入1 导通,键盘输入0断开

记得里面判断一下

连接的是7口,如何把7口设置成输出口呢?

先调用硬件初始化函数

还有GPIO的控制

这个PinMode是引脚的模式,有输入模式INPUT,和输出模式OUTPUT

导通开关继电器赋值一个低电平就会导通,如何才能赋值低电平呢?

digitalWrite

高电平就断开了

代码如下 

这里写cc也可以

(因为gcc 的软连接就是面向cc的)

运行一下

默认情况下它就亮了,就绿了

我们现在输入个0 ,看能不能关掉

结果

我们想让他能一直玩

用while(1)的时候,cmd需要重新归位

修改一下,让继电器上来不通

执行有时候蹦了

原因是回车的问题

用getchar();吸收回车

运行结果

然后我们再来一下代码优化

代码中的7是不是很难看,可读性差

我们可以用define SWITCHER 7

思路,main函数一进来做wiringPi库的初始化

然后引脚要做初始化,因为引脚既有输出功能,也有输入功能,我们把他配置成输出的功能

为了让继电器一上电不要导通电器,来了一个高电平

循环的时候,你不给它10 它容易一直都是1,记得getchar()吸收一下回车符

2、继电器组硬件控制开发

连接成功后会有微弱的光

scanf 取地址符号去掉,是因为数组名就是个地址

scanf里面用%s,因为字符串

scanf之前都要memset初始化一下

这里注意是sizeof,而不是strlen

我们先控制一个

运行结果

说明scanf还是有一些bug的

用gets会提示你危险慎用(没办法不过也能用)

运行一下

继电器组的灯

同样的逻辑,我们可以做其他的灯

运行结果

继电器的灯光

可以再来个一键关闭,开启

运行

树莓派:外设开发编程,控制继电器相关推荐

  1. 树莓派——3、树莓派外设开发编程

    树莓派外设开发接口文档参考 wringPi库(特定平台,特定功能的接口)树莓派wiringPi库详解 - lulipro - 博客园 (cnblogs.com) 一.树莓派的接口 IO口:input/ ...

  2. 树莓派外设开发之控制继电器(组)

    目录 控制继电器 控制继电器组 控制继电器 选择7号引脚作为继电器信号输出控制端. 代码: #include <wiringPi.h> #include <stdio.h> # ...

  3. 树莓派外设开发基础(wiringPi库)

    参考:树莓派外设开发基础篇 作者:丶PURSUING 发布时间:2021-02-05 18:20:53 网址:https://blog.csdn.net/weixin_44742824/article ...

  4. 树莓派外设开发——超声波

    1.综述 树莓派外设开发需要用的wiringPi()库函数 在调用时需要包含#include<wiringPi.h>文件 使用wiringPi()库函数时需要将其初始化,方法为:调用 in ...

  5. 树莓派外设开发(快速上手)

    树莓派外设开发 wiringPi库的使用 例子---接收指令让继电器工作 HC-SR04超声波测距模块简单应用 跨平台文件传输 FileZilla软件 linux环境自带的scp指令 串口交互 修改c ...

  6. 树莓派外设开发之接入语音模块

    参考:树莓派接入语音模块控制继电器组 作者:糯米啊啊 发布时间: 2021-04-18 17:07:08 网址:https://blog.csdn.net/weixin_43732386/articl ...

  7. 树莓派外设开发之超声波

    树莓派超声波测距 树莓派Gpio引脚图: 注意:这里代码中使用的是wiringPi编码,图中GPIO 针脚定义为根据BCM编码定义 超声波模块介绍: 接线参考:模块除了两个电源引脚外,还有Trig,E ...

  8. 树莓派外设开发基础—串口通信

    文章目录 一.串口通信的一些概念 二.树莓派串口通信设置 三.树莓派串口通信API 四.树莓派与PC通信 1.接线 2.程序与测试 拓展 一.串口通信的一些概念 串口通信通常用在多机通信中. 串口通信 ...

  9. 树莓派外设开发之玩传感器

    参考:用树莓派玩传感器 作者:LEO-max 发布时间: 2021-02-24 16:30:46 网址:https://blog.csdn.net/zouchengzhi1021/article/de ...

最新文章

  1. 【译】理解Javascript函数执行—调用栈、事件循环、任务等
  2. list、tuple、set、dict 四大数据结构
  3. Java 集合框架综述
  4. caffe模型weightsfeatureMap 可视化(c++)
  5. 如何在asp.net中如何在线播放视频文件
  6. java把对象转成json_java 把对象 对象转换成json字符串 | 学步园
  7. 虚拟网卡实现一个网卡多个地址
  8. 数据分析方法(一):对比与对标
  9. 计算机科学与技术专业实训手册,计算机科学与技术专业实习计划
  10. Django_modelform组件
  11. 内网通过公网地址访问内部服务器
  12. Linux进阶之Linux中的标准输入输出
  13. 美研究人员首次验证声波可让光纤中的光变“听话”
  14. 妲己机器人功能_来自机器人影响者的5个功能强大的Instagram教训
  15. 解决 Office 2007/2010 安装错误:1402 安装程序无法打开注册表项 UNKNOWN\Components\“随机数字”
  16. oracle 11g查隐含参数,oracle隐含参数修改与查看
  17. (五十二)剑网三大风车伤害计算器
  18. java线程中的tid_jstack中的tid到底是什么意思呢
  19. Python3 Django的补充
  20. 大风吹乱了我的头发,就像吹一朵蒲公英

热门文章

  1. linux 下去掉^M
  2. html label标签 ie6,说说HTML5中label标签的可访问性问题
  3. c语言常用的异常处理,C语言中的异常处理
  4. 基于CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码
  5. ubuntu命令创建用户无法登入问题
  6. Linux基础--虚拟机的控制及linux系统的基本操作
  7. Android 插件化总结
  8. 用OleDb写的一个导出Excel的方法
  9. QT中封装的IP地址的widget
  10. octet和byte