本文主要是介绍STM32F103VET6 2.4G通信模块NRF24L01 GPIO模拟SPI的测试例程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
自己画的一块基于STM32F103VET6的开发测试板,留有一个NRF24L01+的通信接口,之前买了一些NRF24L01+的模块打算研究一下用上,淘宝上买的比较便宜,可以用于物联网方面的无线应用吧。
做过NRF905的通信,NRF24L01的也是有些相似。网上教程一大堆,我原理上设计为GPIO模拟SPI,因此我找了个GPIO 模拟SPI通信的例程,改了下,开始出了点问题,后来找到原因并解决,通信正常了。
先说一下问题:
NRF24L01引脚初始化问题,设置了引脚,但是GPIO初始化时,引脚没有对应上,因此程不跑,串口一直打印 找不到NRF24L01模块,因为有一个检测NRF24L01是否存在的函数。
//上电检测NRF24L01是否在位
//写5个数据然后再读回来进行比较,
//相同时返回值0,表示在位;
//否则返回1,表示不在位.
u8 NRF24L01_Check(void)
{u8 buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};u8 buf1[5];u8 i;
这篇关于STM32F103VET6 2.4G通信模块NRF24L01 GPIO模拟SPI的测试例程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!