基于基于STM32F407无线通信实验(有代码)无线通信实验(有代码)
引言引言
STM32F4 开发板带有一个无线模块(WIRELESS接口,采用 8 脚插针方式与开发板连接,可以用来连接 NRF24L01/RFID 等
无线模块。本次实验将以 NRF24L01模块为例介绍 STM32F4 开发板上实现无线通信。在本次实验中,我们将使用两块探索
者 STM32F4 开发板,一块用于发送收据,另外一块用于接收,从而实现无线数据传输。
1 NRF24L01 无线模块简介无线模块简介
NRF24L01 无线模块,采用的芯片是 NRF24L01,该芯片的主要特点如下:
1)2.4G 全球开放的 ISM 频段,免许可证使用。
2)最高工作速率 2Mbps,高校的 GFSK 调制,抗干扰能力强。
3)125 个可选的频道,满足多点通信和调频通信的需要。
4)内置 CRC 检错和点对多点的通信地址控制。
5)低工作电压(1.9~3.6V)。
6)可设置自动应答,确保数据可靠传输。
该芯片通过 SPI 与外部 MCU 通信,最大的 SPI 速度可以达到 10Mhz。该模块的外形和引脚图如图:
模块 VCC 脚的电压范围为 1.9~3.6V,建议不要超过 3.6V,否则可能烧坏模块,一般用 3.3V电压比较合适。除了 VCC 和
GND 脚,其他引脚都可以和 5V 单片机的 IO 口直连,正是因为其兼容 5V 单片机的 IO,故使用上具有很大优势。
2 硬件设计硬件设计
本实验功能简介:开机的时候先检测 NRF24L01 模块是否存在,在检测到 NRF24L01模块之后,根据 KEY0 和 KEY1 的设置
来决定模块的工作模式,在设定好工作模式之后,就会不停的发送/接收数据,同样用 DS0 来指示程序正在运行。
所要用到的硬件资源如下:
1) 指示灯 DS0
2) KEY0 和 KEY1 按键
3) TFTLCD 模块
4) NRF24L01 模块
NRF24L01 模块属于外部模块,这里我们仅介绍开发板上 NRF24L01 模块接口和 STM32F4的连接情况,他们的连接关系如
图 :