ardunio笔记35:nrf2401模块的接口

 

目录

一、接口介绍

二、命令字

三、IRQ


 

 

 

一、接口介绍

以TB上最常见最便宜的模块为例。

 

 

左边的这个型号最常见,最便宜,大约3/4块钱一个,双排8针,2.54mm间距,模块尺寸比右边那个大;
右边这个也不少,稍贵,大约6/7块钱一个,单排8针,1.27mm间距,带邮票孔,体积非常小巧,做工我感觉要比前一个好些;
除此之外,这两种功能上没任何区别。
都是板载nrf24l01+单芯片,没有PA(射频功率放大)芯片,功率不大,空旷通信距离百米左右。
根据你自己的实际情况选择:
如果你【对成本不敏感】且【打算自己做板】且【希望板子做的小巧漂亮】,推荐右边这个;
除此之外一律选择左边这个;
 
根据我自己的经验,列出一些关于硬件使用上的问题(对上面两种型号均适用):
  • 模块供电【一定/必须/不能】超过3.6V,如果你不小心接了5V供电,哪怕就一会儿,请节哀,不要问我是怎么知道的(╥╯^╰╥)。
  • 除VCC和GND之外,其余6个pin却是兼容5V电平的,这也是为什么arduino可以导线直连的方式驱动它的原因。
  • 除【买了便宜到超越底线的模块】之外,不要随便怀疑模块硬件有问题,一个模块能持续多年大量出货且不用升级换代,足以说明模块的稳定性。
  • 所有管脚直连arduino的对应管脚即可,无需【串联】电阻。
  • 用稳压芯片引出的3.3V供电可以直接给模块使用,除供电端极度不稳定之外,几乎不需要并联电容。
  • 如果你用的是带PA的模块,工作电流峰值能达到一百几十毫安,要特别注意供电端的带载能力是否足够。
下面来说说除VCC/GND之外其余6个管脚的作用,可以先看一下上图中的那个管脚功能表,再看下文。
我们的程序要使用nrf24l01+,包括配置工作模式/查询工作状态/发送数据/接收数据,全部是通过这6个管脚来和模块进行交互的。
这6个管脚可以分为3组:
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CSN/SCK/MOSI/MISO算一组,是 SPI接口 往模块里送数据/从模块里读数据都是使用SPI来进行的。
这里所说的数据有2个含义,即可以是我们打算向外界真实发送的数据,也可以是给这个模块自身的配置数据,也就是它内部各个寄存器的值。

从底层来说,这些数据就是一串0101,一打眼没什么区别,直接丢给你你也看不出来。
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软件自带的串口调试助手 因为这个串口调试助手既可以发送十六进制数据 也可以发送字符数据 这样 可以发送英文 #include<reg51 h> #include<intrins h> #define uchar unsigned char #define uint unsigned int NRF24L01寄存器操作命令 #define READ REG 0x00 读配置寄存器 低5位为寄存器地址 #define WRITE REG 0x20 写配置寄存器 低5位为寄存器地址 #define RD RX PLOAD 0x61 读RX有效数据 1 32字节 #define WR TX PLOAD 0xA0 写TX有效数据 1 32字节 #define FLUSH TX 0xE1 清除TX FIFO寄存器 发射模式下用 #define FLUSH RX 0xE2 清除RX FIFO寄存器 接收模式下用 #define REUSE TX PL 0xE3 重新使用上一包数据 CE为高 数据包被不断发送 #define NOP 0xFF 空操作 可以用来读状态寄存器 NRF24L01寄存器地址 #define CONFIG 0x00 配置寄存器地址 #define EN AA 0x01 使能自动应答功能 #define EN RXADDR 0x02 接收地址允许 #define SETUP AW 0x03 设置地址宽度 所有数据通道 #define SETUP RETR 0x04 建立自动重发 #define RF CH 0x05 RF通道">经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值