当前位置: 首页 > 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.gsyq.cn/news/1580005.html

相关文章:

  • 后端常见问题
  • Java 集合 - 用好 SortedMap 和 NavigableMap,优化 Java 集合排序与操作效率
  • 震动感应灯
  • RAG 系统化学习教程(含查询改写、混合检索、重排序、上下文增强与评估闭环)
  • 告别重复操作!OpenClaw 2.7.9 电脑自动化完整落地实操
  • 腾讯犀牛鸟开源计划启动!一行命令部署 OpenTenBase,速通 issue 拿面试绿通
  • LLM运行机制
  • AI+仿真构建交互式电力工程教学框架:从原理到实践
  • 大语言模型推理优化:从思维链到潜在状态轨迹的范式跃迁
  • 多集群管理
  • 51单片机音乐盒
  • 线性合约与标准合约选择及支付机制优化实战指南
  • MATRIX框架:基于双通道约束奇偶校验的多层代码水印技术实践
  • 接口幂等性设计与实现
  • 联邦学习在3D物体检测中的应用:Fed3D框架解析与实践
  • 动态列生成在双目标切割问题中的优化应用
  • 成都工装市场,现在到底是啥格局?说点实在的
  • Go语言的race检测器与数据竞争在并发程序中的重现方法
  • 2026 年命理研究工具的功能和配套内容,会不会买了之后就不再更新了?第三方学习路径观察
  • 数字劳动力定价机制解析:从算法压价到垂直集体行动的价值重塑
  • NaijaS2ST:构建低资源尼日利亚语言多口音语音翻译基准
  • DEMUX框架:解密混合加密流量下的多标签网站指纹攻击
  • 大模型推理优化:Tilted Sampling与Beam Search解码策略对比分析
  • 【Claude】OAuth token revoked / Org not allowed 错误的认证链路排查 bug报错已解决
  • hp-鲁棒内罚间断Galerkin方法求解p-Laplacian方程:原理、实现与自适应策略
  • LP2DH:基于局部保持像素差分哈希的动态纹理识别实战解析
  • 基于Reddit历时词嵌入的语义演变追踪:从数据获取到可视化分析
  • VoodooNet:基于高维随机投影与伪逆解析的神经网络瞬时训练技术
  • SecureRouter框架:融合MPC与智能路由实现Transformer安全高效推理
  • RISE方法解析:基于注意力机制的大模型训练数据估值与归因实践