嵌入式STM32学习——继电器

继电器模块引脚说明

VCC(+): 供电正极。连接此引脚到电源(通常是直流电源),以提供继电器线圈所需的电流。

GND(-): 地。连接此引脚到电源的负极或地。

IN(或者类似标记): 控制输入。通常用于连接控制信号,当该信号变化时,继电器将切换状态。

NC(Normally Closed): 常闭接口,继电器吸合前与COM连接,吸合后悬空

COM(Common): 公共端,通常是中间的触点,与常开或常闭触点相连。

NO(Normally Open): 常开接口,继电器吸合前悬空,吸合后与COM连接

开路即通路、断路,闭合指的是开关闭合,也就是说,在没有任何上电之类的动作时,NC和COM端相当于已经连通

个人见解:

继电器有指示灯一侧接STM32,VCC和GND不用多说,分别是电源和地线的连接,IN接口则接STM32中的一个引脚,用来控制继电器的接通与否,若IN口为0(低电平)时继电器绿灯亮起(接通),若IN口为1(高电平)时继电器绿灯熄灭(断开)。当继电器接通时左侧便可以控制传感器等大电流器件工作。

实验:(控制继电器开关,间隔一秒)

relay.c

复制代码
#include "relay.h"
#include "stm32f10x.h"

void Relay_Init(void)
{
	GPIO_InitTypeDef Relay_initstruct;//结构体定义
	
	RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);//时钟初始化
	
	Relay_initstruct.GPIO_Pin = GPIO_Pin_0;
	Relay_initstruct.GPIO_Speed = GPIO_Speed_10MHz;
	Relay_initstruct.GPIO_Mode = GPIO_Mode_Out_PP;
	
	 GPIO_Init(GPIOA, &Relay_initstruct );初始化结构体

	
}

relay.h

复制代码
#ifndef RELAY_H_
#define RELAY_H_



void Relay_Init(void);//声明

#endif

main

复制代码
#include "stm32f10x.h"
#include "main.h"

#include "relay.h"
 
void delay(uint16_t time)  //延时函数
{
	uint16_t i=0;
	while(time--)
	{
		i =12000;
		while(i--);
	}
}
 
int  main()
{

	Relay_Init();  //函数声明

	GPIO_SetBits(GPIOA,GPIO_Pin_0);初始化继电器为断开状态
	
	while(1)
	{
		
			GPIO_ResetBits(GPIOA,GPIO_Pin_0); //闭合
			delay(1000);
			
			GPIO_SetBits(GPIOA,GPIO_Pin_0);  //断开
			delay(1000);
		
	

	}
}
相关推荐
btzhy1 小时前
STM32单片机:基本定时器应用:单脉冲模式(STM32L4xx)
stm32·单片机·嵌入式硬件·基本定时器应用:单脉冲模式
文sir.2 小时前
温湿度采集系统(stm32+mqtt+Onenet云平台+esp8266)
stm32·单片机·嵌入式硬件·mqtt·onenet·云平台·esp8266
DIY机器人工房3 小时前
嵌入式面试题:你有没有用过直接基于TCP协议,不借助HTTP、MQTT这类上层协议的项目经历?
stm32·单片机·嵌入式硬件·面试题·diy机器人工房
周全全3 小时前
基于ElasticSearch的语义检索学习-向量化数据、向量化相似度、向量化检索
大数据·学习·elasticsearch
4***72133 小时前
网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
爬虫·学习·计算机外设
t***31653 小时前
爬虫学习案例3
爬虫·python·学习
hhcccchh4 小时前
学习vue第七天 从单页面应用(SPA)进化为后台管理系统架构
vue.js·学习·系统架构
文涛是个小白呀4 小时前
Java集合大调研
java·学习·链表·面试
hd51cc4 小时前
MFC多线程学习笔记三:线程间的通信
笔记·学习
hd51cc4 小时前
MFC多线程学习笔记四:线程间的同步
笔记·学习·mfc