基于STM32F103的消防系统之驱动电机风扇
硬件材料
开发板 野火STM32-F103指南者
R300电机风扇模块
引脚连接
代码简介
本驱动电机通过电信号控制开关,并未设置PWM进行调速。
软件代码
.C文件
#include "feng.h"
#include "stm32f10x.h"
void FENG_Config(void)
{
/*定义一个GPIO_InitTypeDef类型的结构体*/
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( FENG_GPIO_CLK, ENABLE);
GPIO_InitStructure.GPIO_Pin = FENG_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(FENG_GPIO_PORT, &GPIO_InitStructure);
GPIO_ResetBits(FENG_GPIO_PORT, FENG_GPIO_PIN);
}
/*********************************************END OF FILE**********************/
.H文件
#ifndef __FENG_H #define __FENG_H #include "stm32f10x.h" /* 定义电机风扇连接的GPIO端口, 用户只需要修改下面的代码即可改变控制的电机风扇引脚 */ #define FENG_GPIO_PORT GPIOC /* GPIO端口 */ #define FENG_GPIO_CLK RCC_APB2Periph_GPIOC /* GPIO端口时钟 */ #define FENG_GPIO_PIN GPIO_Pin_8 /* 连接到电机风扇的GPIO */ /* 带参宏,可以像内联函数一样使用 */ #define FENG(a) if (a) GPIO_SetBits(FENG_GPIO_PORT,FENG_GPIO_PIN); else GPIO_ResetBits(FENG_GPIO_PORT,FENG_GPIO_PIN) void FENG_Config(void); #endif /* __BEEP_H */
main.c
GPIO_ResetBits(FENG_GPIO_PORT, FENG_GPIO_PIN); //开启风扇 GPIO_SetBits(FENG_GPIO_PORT, FENG_GPIO_PIN); //关闭风扇
本模块可以和MQ-4天然气模块结合使用,用电机风扇模拟排风扇。
本模块较为简单,篇幅过短。
下面内容请忽略!
