当前位置: 首页 > news >正文

小实验--继电器定时开闭

继电器定时开闭

1.实验目的

继电器500ms闭合,再500ms断开,如此循环。

2.硬件清单

  • 继电器
  • STM32开发版
  • ST-Link

3.硬件连接

STM32继电器
PB7I/O
3V3VCC
GNDGND

4.代码

小技巧:给保存继电器代码的文件夹命名时,一般不命名继电器的英文名字,而是命名为继电器要驱动的电路名字,比如要驱动高功率喇叭,就命名为喇叭了英文名字。

4.1alarm.c

#include "alarm.h"
#include "sys.h"void alarm_init(void)
{__HAL_RCC_GPIOB_CLK_ENABLE();                   //使能GPIOB时钟GPIO_InitTypeDef gpio_initstruct;               //初始化GPIO函数中的结构体参数    gpio_initstruct.Mode =GPIO_MODE_OUTPUT_PP ;     //推挽输出gpio_initstruct.Pin = GPIO_PIN_7;               //引脚7gpio_initstruct.Pull = GPIO_PULLUP;             //上拉gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;   //高速HAL_GPIO_Init(GPIOB,&gpio_initstruct);alarm_off();
}
//打开继电器函数
void alarm_on(void)
{HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);     //拉低PB7引脚打开继电器
}
//关闭继电器函数
void alarm_off(void)
{HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET);       //拉高PB7引脚关闭继电器
}

4.2alarm.h

#ifndef __ALARM_H__
#define __ALARM_H__void alarm_init(void);
void alarm_on(void);
void alarm_off(void);#endif

4.3main.c

#include "sys.h"
#include "uart1.h"
#include "delay.h"
#include "alarm.h"int main(void)
{HAL_Init();                         /* 初始化HAL库 */stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */alarm_init();while(1){ alarm_on();delay_ms(500);alarm_off();delay_ms(500);}
}

这个代码和点亮LED的代码一模一样,就是修改了引脚,详见STM32小实验1–点亮led

http://www.lryc.cn/news/612446.html

相关文章:

  • Pytest项目_day04(Python做接口请求)
  • vector使用模拟实现
  • Linux 学习 之 killer 问题
  • Unity笔记(三)——父子关系、坐标转换、Input、屏幕
  • STM32学习笔记3-GPIO输入部分
  • 【模电笔记】—— 直流稳压电源——稳压电路
  • RK3568笔记九十六:多路实时目标检测
  • Python应用指南:获取风闻评论数据并解读其背后的情感倾向(二)
  • 【补题】CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) D. K-good
  • 基于单片机GD32E103的HID按键问题分析
  • hive专题面试总结2
  • 一、Envoy基础概念学习
  • 8.6笔记
  • 《嵌入式数据结构笔记(四):栈结构与队结构链表》
  • Chrontel【7322BMF】CH7322B HDMI Consumer Electronics Control (CEC) devices
  • GaussDB 数据库架构师修炼(六)-3 集群工具管理-主备倒换
  • prometheus+Grafana 监控中间件项目
  • 202506 电子学会青少年等级考试机器人四级实际操作真题
  • 架构层防护在高并发场景下的实践
  • 机器学习-LinearRegression
  • 机器学习模型调优实战指南
  • 机器学习——SVM
  • 居家养老场景下摔倒识别准确率提升 29%:陌讯动态姿态建模算法实战解析
  • 第五十一章:AI模型服务的“百变面孔”:WebUI/CLI/脚本部署全解析
  • 从原理图到PCB的布局
  • LiveQing视频RTMP推流视频点播服务功能-云端录像支持按时间段下载录像时间段下载视频mp4
  • STM32的PWR
  • 引领GameFi 2.0新范式:D.Plan携手顶级财经媒体启动“龙珠创意秀”
  • ZYNQ实现FFT信号处理项目
  • Python科学计算:从基础到工程仿真的完整指南