nRF2401是单片射频收发芯片,工作于2.4~2.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,节能设计更方便。其DuoCeiverTM技术使nRF2401可以使用同一天线,同时接收两个不同频道的数据。nRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具
使用该模块,远程控制机器人,遥控器主控原本是arduino 小型开发板,使用mirf库由于手上只有几块stm32开发板和一块arduino开发板。。。经过测试,调节通讯收发地址,收发模式等等,包括channel,都确定无误,但是stm32和具有mirf库的arduino无法通讯,查找mirf库底层配置文件,修改了一些配置参数,收发模式等等依然查找不到问题,后面发现一个可能不一致参数,但是打开mirf
底层没有配置该参数的函数,放弃arduino。。。由于为了让大家可以简单上手这种开发板,库函数封装,然后库配置功能不像stm32齐全,最后还要考虑遥控器体积,最后考虑塞一个stm32最小系统板,但是由于要开ADC读取模拟型号,十分担心这个小板子管脚不够最后还是勉勉强强松了一口气。。。果然不会撸板还是不得行啊。。。。
两个stm32通讯就简单很多了,因为很多参数都是可以配置成一样的,过两天等天线到了,把发射功率参数调上去测一下距离,号称1公里(升级版gt24模块),配置不仔细讲了,两边模式设好,一发一收,收发地址建议一致,频道注意一致,还有一些使能操作不要忘记。
32和模块是spi通讯,记得相关片选操作,开了dma的话更加方便。。。。