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

继电器项目

1.代码控制开关口,单片机-继电器-模块(是否打开)

2.告诉单片机把灯点亮

int main//开始工作 { jidianqi_Init();//继电器IO口初始化 while(1)//循环 { GPIO_SetBits(GPIO_Jidianqi,GPIO_Pin_GuangDeng);//开灯 } }

3.继电器控制灯的开关

在之前的项目文件中添加jidianqi.c和jidianqi.h文件,然后加入到项目工程文件的USER文件夹里

//在led.c里定义函数 #include"jidainqi.h" #include"stm32f10x.h" void jidianqi_Init(void) { }
//在led.h #include"stm32f10x.h" void jidianqi_Init(void);//函数声明
//在main.c函数调用 #include "stm32f10x.h" #include "led.h" void delay(uint16_t time) { uint16_t i= 0; while(time--) { i=12000; while(i--); } } int main() { LED_Init(); jidianqi_Init(); while(1) { } }

在jidianqi.c文件

//引脚是PA3,使能GPIOA时钟,GPIOA3结构体配置,初始化 //使能时钟:查看参考手册系统构架GPIO都挂在APB2上,在rcc.h文件里找到apb2的外设时钟void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);第一个参数GPIOA找到rcc文件中498行GPIO的标识RCC_APB2Periph_GPIOA,第二个参数FunctionalState NewState点击FunctionalState右击出现go to xxx选择第一个到typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;我们要使能即打开即第二个参数选择ENABLE //配置结构体:在gpio.h文件夹中101行找到结构体GPIO_InitTypeDef;然后在使能时钟前定义GPIO_InitTypeDef jdq_Init;此时可以配置mode,pin,spee分别推挽输出(在gpio.h文件里的结构体那右击go to xxx 找到推挽输出),3脚(gpio.h文件里130行GPIO_Pin_3),同mode选10MHz //在gpio.h文件里找到void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);对应项目的void GPIO_Init(GPIOA, &jdq_Init); #include "jidianqi.h" #include "stm32f10x.h" void jdq_Init(void) { GPIO_InitTypeDef jdq_init ; //1.使能GPIOA时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); //2.GPIOA3结构体配置 Relay_init.GPIO_Mode = GPIO_Mode_Out_PP; Relay_init.GPIO_Pin = GPIO_Pin_3; Relay_init.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init( GPIOA, &jdq_init ); }

配置完之后在main.c文件添加#include "jidianqi.h"但是这个jidianqi.h文件,去添加头文件路径(魔术棒c/c++include paths里添加jidianqi文件夹)

最后点亮灯光,把继电器PA3电频拉低打开开关,在gpio.h文件找到resetbits函数

http://www.jsqmd.com/news/1068050/

相关文章:

  • RAG 系统化学习教程(含查询改写、混合检索、重排序、上下文增强与评估闭环)
  • 2026山东大学软件学院项目实训-宠物情绪识别(七)
  • 震动感应灯
  • Kimi LeetCode 3343. 统计平衡排列的数目 Java实现
  • 手把手教你学Simulink——基于单周期控制(One‑Cycle Control, OCC)的无桥 PFC 整流器仿真
  • 告别重复操作!OpenClaw 2.7.9 电脑自动化完整落地实操
  • 3PEAK思瑞浦 TPA8101-SOAR WSOP8 隔离放大器和调制器
  • 鸿蒙 NDK开发:使用命令行CMake构建工程(三)
  • Windows系统文件FM20.DLL丢失找不到问题解决
  • 为什么你越讨好别人,越没人把你当回事?
  • 腾讯犀牛鸟开源计划启动!一行命令部署 OpenTenBase,速通 issue 拿面试绿通
  • 监督学习与无监督学习是什么?关键区别在有没有答案
  • 【HarmonyOS 6】仿AI唤起屏幕边缘流光特效
  • 基于 Harmony 6.0 应用的车辆保养提醒管家实现
  • Shell脚本为何成为AI智能体视觉(TVA)的“反射弧”(7)
  • 衍射-全息混合架构:实现被动光学实时图像分类的光子AI系统
  • 卫星联邦学习CroSatFL:跨聚合机制如何破解星上智能节能难题
  • 智能合约库验证:上下文合约与模块化架构的测试策略对比
  • 软件质量控制中的统计过程控制
  • LLM运行机制
  • 学习创建支持演示公式的复杂表格|《经济学人》杂志巨无霸指数的可视化图表代码
  • 化学结构识别:为何OCSR视觉技术优于纯文本JSON解析?
  • π0.7项目解析:跨机器人零样本迁移与高效推理的具身智能新范式
  • 专利代理师:2025年专利代理师资格考试《实务》模拟真题及答案
  • 大语言模型推理优化:从思维链到潜在状态轨迹的范式跃迁
  • AI+仿真构建交互式电力工程教学框架:从原理到实践
  • 多集群管理
  • 51单片机音乐盒
  • 基于Fxlms算法用于宽带和窄带主动噪声控制(ANC)研究(Matlab代码实现)
  • 稀疏与突发数据下的漏洞活动预测:SARIMAX与计数模型对比实战