查看: 1492|回复: 0

【遥控器开发基础教程5】疯壳·开源编队无人机-SPI

[复制链接]
  • TA的每日心情
    开心
    2022-4-17 15:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-8-22 15:53:23 | 显示全部楼层 |阅读模式
    分享到:
    COCOFLY教程
    ——疯壳·无人机·系列
    SPI(2.4G 双机通信)




    1.png    
        图1

        一、NRF24L01
        1.1 NRF24L01 简介

        NRF24L01 是由NORDIC 生产的工作在 2.4GHz~2.5GHz 的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。
        NRF24L01 的输出功率频道选择和协议的设置均可以通过 SPI 接口进行设置,因此,其具有极高的兼容性,几乎可以连接到各种单片机芯片,并完成无线数据传送工作。除此之外,NRF24L01 的功耗也非常的低,当工作在发射模式下发射功率为 0dBm 时电流消耗仅为 11.3mA ,接收模式时为 12.3mA,掉电模式和待机模式下电流消耗更低。所以 NRF24L01 可以广泛地应用在无线键鼠、无线门禁、无线电台、智能工业设备、玩具等场合。
        如下表所示列举了 NRF24L01 的特性参数。

    表1.0.png
    表1.1.png    
        表1
        如下图所示为 NRF24L01 芯片实物图

    2.png    
        图2

        二、2.4G 双机通信
        2.1 NRF24L01 使用方法

        NRF24L01 是以包的形式进行发送的,具体的包格式如下表所示。

       表2.png
        表2
        NRF24L01 在通信前需要进行一系列的参数配置,而在配置其参数时,NRF24L01 必须工作待机模式,即 CE 脚拉低。在发送模式下的配置流程如下表所示。

       表3.png
        表3
        配置为接收模式的流程如下表所示。

        表4.png
        表4
        配置完后就是发送和接收的处理了,发送的流程如下表所示。

    表5.png    
        表5
        接收流程如下表所示。

       表6.png
        表6
        三、2.4G 双机通信实验
        2.4G 双机通信实验涉及到遥控器端和飞控端,两者的 2.4G 通道均设置为
        110。首先配置遥控器端的左摇杆的按键为外部中断模式,一旦按下做摇杆按键, 就发送“Remoter”这个字符串到飞控上,飞控接收到后,把 LED 航情灯进行闪烁,然后再向遥控器回发“Airplane”这个字符串,遥控收到后,闪烁电源指示灯。无论是遥控器还是飞控使用 NRF24L01 均使用到了 STM32 的硬件 SPI,不同的是遥控器使用的是 SPI2,而飞控使用的是 SPI1。STM32 的 SPI 配置方法可以参考飞控开发基础《SPI(六轴传感器数据获取)》。

        3.1遥控器端

        本次实验中遥控器端触发无线数据的发送是通过外部中断实现的,具体的外部中断配置可以参考《遥控器开发实战-中断》。在该中断中向飞控发送“Remoter” 字符串,具体代码如下图所示。

    3.png
        图3
        遥控器端的 NRF24L01 的初始化代码如下图所示。

        4.png
        图4
        遥控器端的接收处理是在主循环中轮询实现的,收到飞控发来的信息后,电源指示灯闪烁,具体代码如下图所示。

        5.png
        图5

        3.2飞控端

        飞控端的无线数据接收在主循环中实现,接收到遥控器发送的信息后,电源指示灯闪烁,且向遥控端回发“Airplane”,具体代码如下图所示。

    6.png    
        图6
        飞控端的 NRF24L01 的初始化代码如下。

    7.png
        图7

        3.3实验现象
        把遥控器端代码下载到遥控器内、飞控端代码下载到飞控内。上电,此时按下遥控器的左摇杆按键,可见飞控四个电机底部的 LED 航情灯闪烁,然后遥控的电源指示灯也闪烁。这就意味着飞控收到了来自遥控器端的信息并且回发了信息给遥控器,且遥控器也收到了来自飞控端的回发信息。如下图所示为飞控航情灯以及遥控左按键及电源指示灯。

    8.png
        图8




    文件下载请点击: 【5】SPI(2.4G双机通信).pdf (750.2 KB, 下载次数: 1)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 01:39 , Processed in 0.145616 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.