二、树莓派与继电器硬件连接原理图(以GPIO25引脚连接为例)
一、认知WiringPi库(借鉴:树莓派wiringPi库详解)
①:函数解释
②:串口解除
/* 修改 cmdline.txt文件 */
cd /boot/
sudo vim cmdline.txt
删除【】之间的部分
dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
③:重启sudo reboot
二、树莓派与继电器硬件连接原理图(以GPIO25引脚连接为例)
三、软件代码
/*上位机通过串口控制树莓派引脚状态,从而达到继电器组合控制LED灯的开与关*/
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <wiringSerial.h>
void INIT_GPIO_MODE(void);
void INIT_GPIO_STATUS(void);
void INIT_GPIO_MODE(void)
{
pinMode(25,OUTPUT);
pinMode(0,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
}
void INIT_GPIO_STATUS(void)
{
digitalWrite(25,HIGH);
digitalWrite(0,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
}
int main()
{
int data;
wiringPiSetup();
int fd,num;
fd=serialOpen("/dev/ttyAMA0",9600);
if(fd==-1)
{
printf("打开串口失败");
}
INIT_GPIO_MODE();
INIT_GPIO_STATUS();
printf("请输入:1->关闭二楼灯 2->打开二楼灯 3->关闭客厅灯 4->打开客厅灯 5->关闭泳池灯 6->打开泳池灯 7->关锁 8->开锁\n ");
while(1)
{
while(serialDataAvail(fd)!=-1)
{
data=serialGetchar(fd);
printf("data=%02X\r\n",data);
switch(data)
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**


**[如果你需要这些资料,可以戳这里获取](https://gitee.com/vip204888)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**