外部模块介绍 (七)继电器 (继电器不工作或者不停断开吸合的原因见文末 )

本文主要是介绍外部模块介绍 (七)继电器 (继电器不工作或者不停断开吸合的原因见文末 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原理

 

本设计水泵,风扇等都是通过继电器控制(弱电控制强电) 继电器分为低电平控制与高电平控制,本设计采取高电平控制即继电器控制端检测到高电平(推挽输出)继电器线圈吸合,常开闭合常闭断开

切记切记不要继电器供电与用电器相连,防止一不小心都接到公共端,此时就会发现继电器不停断开吸合(用常闭的情况下)不工作(用常开的情况下)

继电器控制 总的来说,这段代码的目的是初始化STM32微控制器上的GPIOB端口的第7个引脚,
将其配置为推挽输出模式,并设置其输出速度为50MHz
void relay_init(void)//对继电器初始化,即对PB7口初始化
{GPIO_InitTypeDef     GPIO_InitStructure;//定义了一个GPIO_InitTypeDef类型的结构体变量GPIO_InitStructureRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能(启动)GPIOB端口的时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出(推挽输出模式允许引脚在高低电平之间切换,输出电流能力也较强)GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//引脚的输出速度为50MHzGPIO_Init(GPIOB, &GPIO_InitStructure);}          void relay_on(void)//PB7置1
{GPIO_SetBits(GPIOB,GPIO_Pin_7);
}void relay_off(void)//PB7置0
{ GPIO_ResetBits(GPIOB,GPIO_Pin_7);
}

这篇关于外部模块介绍 (七)继电器 (继电器不工作或者不停断开吸合的原因见文末 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725565

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Java报NoClassDefFoundError异常的原因及解决

《Java报NoClassDefFoundError异常的原因及解决》在Java开发过程中,java.lang.NoClassDefFoundError是一个令人头疼的运行时错误,本文将深入探讨这一问... 目录一、问题分析二、报错原因三、解决思路四、常见场景及原因五、深入解决思路六、预http://www

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir