STM32项目学习8——433M无线传输
数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm。接收到信号,接收模块对应针脚输出高电平,有D0 D1 D2 D3,可能对应遥控器的AVB/C/D。发射器不同按键控制接收器D0-D3引脚输出高电平,然后STM32接收对应引脚的高电平,执行不同的操作。本项目通过433M无线控制LED2亮灭。USER文件夹新建433M
数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm。接收到信号,接收模块对应针脚输出高电平,有D0 D1 D2 D3,可能对应遥控器的AVB/C/D。

引脚接线
V+:供电正极,接5V以提供433M无线模块所需电流
GND:接电源负极或接地
D0-D4:连接输入信号引脚,当发射器按键变换控制外设信号
控制流程如下图

发射器不同按键控制接收器D0-D3引脚输出高电平,然后STM32接收对应引脚的高电平,执行不同的操作。本项目通过433M无线控制LED2亮灭。
步骤与前几个项目无异
USER文件夹新建433M文件夹,新建433M.c和433M.h
keil工程文件USER添加433M.c,添加路径
#include "stm32f10x.h"
#include "433M.h"
void RF_Init(void)
{
}
433M.h
void RF_Init(void);
main.c
#include"stm32f10x.h"
#include"main.h"
#include"led.h"
#include"bear.h"
#include"button.h"
#include"Relay.h"
#include"Shake.h"
#include"433M.h"
void delay(uint16_t time)
{
uint16_t i = 0;
while(time--)
{
i = 12000;
while(i--);
}
}int main()
{
RF_Init();
Led_Init();
GPIO_SetBits(GPIOA, GPIO_Pin_1);
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == 1)
{
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
}
else if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2) == 1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_1);
}
}
}
更多推荐



所有评论(0)