STM32学习笔记(五)433M无线发射接收模块

文章目录

  • 一、433M无线发射接收模块介绍
  • 二、编程实现

一、433M无线发射接收模块介绍

数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm

  • 单片机供电VCC GND接单片机
    接收到信号,接收模块对应针脚输出高电平
    有D0 D1 D2 D3,对应遥控器的ABCD
    STM32学习笔记(五)433M无线发射接收模块_第1张图片
    STM32学习笔记(五)433M无线发射接收模块_第2张图片
    STM32学习笔记(五)433M无线发射接收模块_第3张图片

二、编程实现

需求:按下遥控器A按键,LED1亮1秒;按下遥控器B按键,LED2亮1秒。
D0 – PA5
D1 – PA6

//重写中断服务函数,如果检测到EXTI中断请求,则进入此函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
// 如果检测到PA5被拉高(按键A被按下)
case GPIO_PIN_5:
if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_5) == GPIO_PIN_SET)
{
//则点亮LED1
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);
}else
{
//如果未检测到PA5,则关闭LED1
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);
}
break;
// 如果检测到PA6被拉高(按键B按下)
case GPIO_PIN_6:
if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_6) == GPIO_PIN_SET)
{
//则点亮LED2
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);
}else
{
//如果未检测到PA4,则关闭LED1
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);
}
break;
}
}

你可能感兴趣的:(STM32,stm32,单片机,学习)