| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 树莓派:外设开发编程,控制继电器 -> 正文阅读 |
|
[嵌入式]树莓派:外设开发编程,控制继电器 |
树莓派外设开发接口文档参考 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会提示你危险慎用(没办法不过也能用) ?运行一下 ?继电器组的灯 同样的逻辑,我们可以做其他的灯 ? ? ?运行结果 ?继电器的灯光 可以再来个一键关闭,开启 ? 运行 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:44:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |