WFLY 2.4G 遥控器接收机 STM32F1x开发

    xiaoxiao2022-07-12  220

    一、遥控器和接收头类型 1.1 天地飞 WFT06X-A 2.4GHz 6通道遥控器 商品规格:六通道2.4G 1.2 WFR06S 2.4G 6通接收机 ■产品规格: 频 段: 2.400GHz-2.483GHz 灵 敏 度: -97dBm 地面直线距离:大于700米 解码方式: PPM/PCMS 1024/PCMS 4096 电 源: 4.8-6V 尺 寸: 34.85×21×11.3mm 重 量: 5.8g 关于PPM解码方式,可以查看这篇文章。 https://www.docin.com/p-1556658364.html

    1.3 对频说明: 1)发射机调到对频状态 2)接收机通电,长安SET键,灯闪硕进入对频状态,灯熄灭,对频成功!

    那么如何对频呢? 一般流传的方法是:先摁住遥控器上的SET按钮,打开遥控器电源开关,遥控器上LED灯变红色并闪亮;再摁住接收器上LINK 按钮并打开接收电源开关,接收和遥控器的LED灯变绿并常亮。则对频成功。

    1.4 模块线的连接

    接收头连接单片机接收头有 3 排引脚3 排引脚顺序电源 - ,5V电源 + (正负接反,接收头就炸了),6个信号引脚信号引脚 1PB 6信号引脚 2PB 7信号引脚 3PB 8信号引脚 4PB 9信号引脚 5PA 2信号引脚 6PA 3 串口调试模块5V5VTXDPA10RXDPA9GNDGND ST-LINKSWCLK缺口靠左-左排-上至下-第5 个针SWDIO缺口靠左-左排-上至下-第4 个针GND缺口靠左-右排-上至下-最后1个针3.3v缺口靠左-右排-上至下-第2 个针

    1.5 遥控器通道, tempup1, tempup2, tempup3 - - - 等值的测量范围,如图所示

    二、程序开发

    程序链接:

    https://download.csdn.net/download/qq_37788383/11887785

    2.1 主函数程序

    #include "stm32f10x.h" #include "delay.h" #include "sys.h" #include "usart.h" #include "wlfy.h" extern u32 tempup1; //通道 1 捕获总高电平的时间 extern u32 tempup2; //通道 2 捕获总高电平的时间 extern u32 tempup3; //通道 3 捕获总高电平的时间 extern u32 tempup4; //通道 4 捕获总高电平的时间 extern u32 tempup5; //通道 5 捕获总高电平的时间 extern u32 tempup6; //通道 6 捕获总高电平的时间 int main(void) { delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 TIM4_Cap_Init(0xffff,72-1); TIM5_Cap_Init(0xffff,72-1); uart_init(9600); while(1) { printf("tempup 1 is %d \r\n",tempup1); printf("tempup 2 is %d \r\n",tempup2); printf("tempup 3 is %d \r\n",tempup3); printf("tempup 4 is %d \r\n",tempup4); printf("tempup 5 is %d \r\n",tempup5); printf("tempup 6 is %d \r\n",tempup6); printf("\r\n"); printf("\r\n"); printf("\r\n"); printf("\r\n"); delay_ms(2000); } }

    2.2 遥控器 通信程序 关于遥控器到底如何控制你要控制的东西,根据tempup1、tempup2、tempup3 - - -的值,自己另行编程序

    .h头文件

    #include "sys.h" void TIM4_Cap_Init(u16 arr, u16 psc); void TIM5_Cap_Init(u16 arr, u16 psc);
    最新回复(0)