本文主要是介绍外部模块介绍 (七)继电器 (继电器不工作或者不停断开吸合的原因见文末 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本设计水泵,风扇等都是通过继电器控制(弱电控制强电) 继电器分为低电平控制与高电平控制,本设计采取高电平控制即继电器控制端检测到高电平(推挽输出)继电器线圈吸合,常开闭合常闭断开
切记切记不要继电器供电与用电器相连,防止一不小心都接到公共端,此时就会发现继电器不停断开吸合(用常闭的情况下)不工作(用常开的情况下)
继电器控制 总的来说,这段代码的目的是初始化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);
}
这篇关于外部模块介绍 (七)继电器 (继电器不工作或者不停断开吸合的原因见文末 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!