目录
一、433M无线发射接收模块介绍
单片机供电VCC GND接单片机
接收到信号,接收模块对应针脚输出高电平
有D0 D1 D2 D3,对应遥控器的ABCD
二、项目设计
//如果检测到PA4被拉低(小偷偷车),并且警报模式打开
//则将PB7拉低,继电器通电,喇叭一直响
// 如果检测到PA5被拉高(按键A按下),设定为开启警报模式
// 则将PB7拉低(喇叭响),2秒后恢复电平(喇叭不响),表示进入警报模式
// 同时将标志位设置为ON
// 如果检测到PA6被拉高(按键B按下),设定为关闭警报模式
// 则将PB7拉低(喇叭响),1秒后恢复电平(喇叭不响),表示关闭警报模式
// 同时将标志位设置为OFF
温馨提示:由于我没有喇叭,所以下面的实验由LED灯来代替喇叭
三、编写代码
1、初始化GPIO口引脚函数
void MX_GPIO_Init(void) //初始化GPIO口引脚函数
{
GPIO_InitTypeDef GPIO_InitStruct = {0}; //初始花设置GPIO的结构体
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOD_CLK_ENABLE(); //使能GPIOD时钟
__HAL_RCC_GPIOA_CLK_ENABLE(); //使能GPIOA时钟
__HAL_RCC_GPIOB_CLK_ENABLE(); //使能GPIOB时钟
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET); //GPIO B8引脚输出1的函数
/*Configure GPIO pin : PA4 */
GPIO_InitStruct.Pin = GPIO_PIN_4; //配置GPIO口引脚:PA4
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; //下降沿触发检测的外部中断模式
GPIO_InitStruct.Pull = GPIO_NOPULL; //内部电阻既不拉高也不拉低
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //根据上述内容,初始化GPIOA引脚
/*Configure GPIO pins : PA5 PA6 */
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6; //配置GPIO口引脚:PA5 PA6
GPIO_InitStruct.Mode =