5V继电器模块-1

5V继电器模块-2

实验演示:

  1. 工作电压5V
  2. 模块I/O接STM32的PG6引脚、开漏输出

relay.h

#ifndef __RELAY_H
#define __RELAY_H/************************************************************
**> File Name:           relay.h
**> Description:     RELAY GPIO - hardware driver
**> Author:              xinso
**> blog:                    xinso.blog.csdn.net
**> Created Time:    2021.04.06
**--------------------------------------------------------
**> 本程序只供学习使用,未经作者许可,不得用于其它任何用途
*************************************************************/#ifdef __cplusplus
extern "c"{
#endif#include "sys.h"/* 直接操作寄存器的方法控制IO */
#define digitalHi(p,i)          {p->BSRR=i;}    //输出高电平
#define digitalLo(p,i)          {p->BRR=i;}     //输出低电平
#define digitalToggle(p,i)      {p->ODR ^=i;}   //输出反转状态/* 继电器控制引脚定义*/
#define RELAY1_GPIO_PORT        GPIOG
#define RELAY1_GPIO_CLK         RCC_APB2Periph_GPIOG
#define RELAY1_GPIO_PIN         GPIO_Pin_6     /* 我买的继电器模块是低电平有效的*/
#define RELAY1_ON                   digitalLo(RELAY1_GPIO_PORT,RELAY1_GPIO_PIN)
#define RELAY1_OFF                  digitalHi(RELAY1_GPIO_PORT,RELAY1_GPIO_PIN)void RELAY_GPIO_Init(void);  //初始化#ifdef __cplusplus
}
#endif#endif    /* __RELAY_H */

relay.c

#include "relay.h"/************************************************************
**> File Name:           relay.c
**> Description:     RELAY GPIO - hardware driver
**> Author:              xinso
**> blog:                    xinso.blog.csdn.net
**> Created Time:    2021.04.06
**--------------------------------------------------------
**> 本程序只供学习使用,未经作者许可,不得用于其它任何用途
*************************************************************/void RELAY_GPIO_Init(void)
{       GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RELAY1_GPIO_CLK , ENABLE);  //使能GPIO端口时钟GPIO_InitStructure.GPIO_Pin = RELAY1_GPIO_PIN  ;   //RELAY1 GPIO   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;   //不行的话,改为推挽输出:    GPIO_Mode_Out_PPGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //速度为50MHzGPIO_Init(RELAY1_GPIO_PORT, &GPIO_InitStructure);RELAY1_OFF;  //关闭继电器控制
}

谢谢观看,有问题需要请教的,请加入STM32学习交流群(QQ群号:470804974),本人QQ号2974278195有问题可添加看到必回。

附:本实验项目采用继电器模块工作电压5V,吸合电流约70mA每路,带继电器状态指示灯;I/O信号输入直接与单片机IO口或数字电路连接,输入高电平继电器吸合,输入低电平继电器释放; 全贴片元件,最合理驱动电路设计,采用8050三极管驱动继电器动作。

本人利用过正点原子-精英板(STM32F103)去控制一个5v的继电器模块时,用开漏输出才能正常控制继电器的工作状态,而使用通用推挽输出模式继电器都是不工作没反应的(正常来说继电器都是用推挽输出驱动I/O的),想问一下,为什么精英板有时候不能用推挽输出模式驱动5V继电器模块?

【STM32单片机-库函数】继电器——relay相关推荐

  1. 【STM32单片机】继电器控制电磁阀与行程(限位)开关的应用

    [STM32单片机]继电器控制电磁阀与行程(限位)开关的应用 STM32单片机高电平为3.3V,而电磁阀的工作电压常为12V/24V,这意味着需要借助继电器控制电磁阀.继电器的本质是通过单片机引脚高低 ...

  2. stm32单片机屏幕一直闪_STM32使用HAL库函数点亮OLED

    OLED屏幕应用十分广泛,我们可以使用STM32单片机对其进行控制,使其显示我们需要的各种数字.字母.汉字.图画等.我们此次使用下图这款非常普遍的0.96寸OLED液晶屏.此款OLED屏采用IIC的通 ...

  3. B45 - 基于STM32单片机的家庭防火防盗系统的设计

    文章目录 设计要求 实物 人脸识别模块的调试 传感器采集与显示 模块设计 温湿度模块 烟雾浓度MQ2 GSM模块 人脸识别模块 语音报警模块 资源占用 源程序 主程序 处理逻辑 AD/DA转换检测烟雾 ...

  4. 【Proteus仿真】【STM32单片机】火灾监测报警系统设计

    文章目录 一.功能简介 二.软件设计 三.实验现象 联系作者 一.功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602显示模块.按键模块.LED和蜂鸣器.继电器直流电机模 ...

  5. (转)jLink使用ITM机制实现调试stm32单片机

    ----------------------------------------------------------------------------------------------- 作者:p ...

  6. stm32单片机屏幕一直闪_stm32实现LED灯的闪烁

    stm32单片机设计比较复杂,所以,对于外设的控制就相对于51单片机来说,就复杂很多.那么如何用stm32单片机点亮LED呢?通过一下几个步骤,就可以实现LED的闪烁.这里使用的stm32型号是stm ...

  7. stm32单片机实现多个闹钟_如何学习单片机:单片机都是相通的,一通百通

    单片机是一种可编程的器件,现在所见到的电子产品中几乎都是以单片机为核心的,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚至比较高大上的ARM和DSP都可以看成是高级一点的单片机 ...

  8. 5加载stm32 keil_快速入门STM32单片机-软件篇

    关于这个STM32的编程开发环境Keil,网上有太多相关的资源了,而且大都讲解的非常详细.所以本篇文章无意于深入细节,只会提供我学习时候的一些体会,帮助你更好的掌握相关知识. 1.标准外设库(Stan ...

  9. semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机

    使用ITM机制实现调试stm32单片机,实现printf与scanf. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting) ...

最新文章

  1. appium-java自动化框架设计学习
  2. leetcode算法题--Minimum Depth of Binary Tree
  3. 已知旋转矩阵求角度_如何推导旋转矩阵
  4. 技术人员职业生涯的红色警报
  5. 实战 | 后端日志的前世今生
  6. Android中SQLiteOpenHelper类的onUpgrade方法浅谈
  7. Ubuntu 10.04 is coming
  8. mysql数据控制语言_Mysql数据控制语言DCL(Data Control Language)
  9. 安卓股票悬浮窗_股票悬浮窗的安卓应用
  10. Python处理Excel数据的方法
  11. 雅马哈推出可以播放黑胶唱片和流行音乐的无线唱盘
  12. PHP 生成带文字图片
  13. dell系统重装后无法进入系统_戴尔装win7后无法进入系统怎么办?戴尔装win7后进不了系统解决方法...
  14. 如何挑选机械键盘?高性价比的机械键盘推荐
  15. 零基础如何学好Photoshop
  16. 对于Java的MyBatis的入门
  17. 书记员计算机操作基础知识考试,书记员打字考试怎么考?有哪些形式?
  18. python sphinx_Python Sphinx使用踩坑记录
  19. ESP32开发环境的搭建和 ESP-IDF支持以下调试方法
  20. 自定义View基础之——canvas,paint的基本用法

热门文章

  1. 【数据挖掘面经】腾讯+百度+华为(均拿到sp offer)
  2. ERROR: Attempting to operate on hdfs namenode as root
  3. USBASP烧录出现的几种错误
  4. 微信悬浮窗图标显示如何配置
  5. 如何构建阿里API请求数据
  6. 【微信小程序】语音播报,文字转语音,使用《微信同声传译插件》
  7. 王学岗Kotlin协程(四)————Flow异步流
  8. IOS学习博客-坚持就是胜利
  9. Freeline秒速编译Android项目详细安卓配置流程
  10. 多目立体匹配的前世今生 | 聊一聊MVS及其在3D检测中的应用