首先拿到21家的F4开发板,非常的高兴!因为申请了好多次,每次都失败,但是这次成功了! 但是公司又有其他项目在做,迟迟没有动手,今天终于得空,操练了一下。希望各位大虾批评指正!!!
做工非常的扎实。用起来非常方便,更重要的是有了STlink仿真器,省了一笔钱,买仿真器。以后玩STM32就更方便了。废话不多说,上干货。 本人也是第一次玩2.4G模块,说的不对的地方,请各位指教!谢谢。 关于2.4G模块的基本知识,大家可以参考野火的教程或正点原子的2.4G对应章节的教程。 硬件环境:21家的NUCLEO-F446RE开关板 + 2.4G模组 软件环境:MDK513 + STlink 测试仪器:万用表,示波器。 [size=10.5000pt]一、基本知识 我主要使用的是F446上的spi1和2.4G模组进行通信,来完成发射,另外一个8051+2.4G模块来作为接受端。主要包括两部分的基本知识——硬件SPI和2.4G模组。 我只说一点:SPI中的CE脚和CSN的区别: CSN脚 是SPI通信协议中的片选脚。多个SPI设备可以共用STM32的SCK、MISO、MOSI端口,不同的设备间就是用CSN区分。 CE脚 是24L01的芯片使能端,通过配置CE,可以使24L01进入不同的状态。 所以在与24L01 通信时,先CE = 0 使能24L01,在片选 24L01,进行读写操作。 1.2 2.4G模组:我用的是24L01的国产版,是公司的供应商提供的。功能和24L01一样,大家
可以理解成一样的。手册也是一样的,我还专门对比过,所以我就拿24L01说 把。 需要特别说的:24L01 工作在2.400G~2.483GHz。分为两种工作模式, 一种是普通型工作模式,在这个模式下,发射端不带重发机制,并且接收端收到数据后,也不会回传数据。 二种是增强型通信,在这个模式下,发射带重发,如果没有收到接收端的反馈数据,会一直重复,直到达到最大重发次数。 [size=10.5000pt]二、硬件设计: STM32的SPI1和24L01模组的连线。非常的简单。
[size=10.5000pt]三、软件设计: 发射端流程图如下:
接收端流程图如下:
|