si24r1/nrf24l01

2023-10-28 15:20
文章标签 nrf24l01 si24r1

本文主要是介绍si24r1/nrf24l01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Si24R1 可配置为 Shutdown、 Standby、 Idle-TX、 TX 和 RX 五种工作模式。

芯片上电后为shutdown模式。此模式下不可以通过芯片收发数据,但MCU和芯片可以通过spi协议通信,更改内部寄存器的状态(如设置 CONFIG 寄存器下的 PWR_UP 位的值为 1,芯片待时钟稳定后进入 Standby 模式)。

配置为发射模式。

在和si24r1通信前,需要先发送一个命令字。

如上方的读寄存器命令R_REGISTER  ,对应的命令字为000A AAAA,其中AAAA A 是由用户更改的,必须是寄存器表中的值。

如配置寄存器的地址为00,读取的大小为字节,每个bit 的功能都已列出。

读写配置寄存器方法。

        spi_readwrite(r_register+config);先发送寄存器号

        num=spi_readwrite(0xff);再次读取的就是寄存器的值。

si24r1可以配置为收模式和发模式。

        两个芯片通过什么来正确连接?        发送地址和接收地址。

配置为发送模式时,只需配置TX_ADDR寄存器的值。

那么对应的芯片如何接收呢?需要配置接收地址。

每个接收模式可以有6个通道。配置其中一个的地址和发送器的TX_ADDR寄存器的值相等即可。

为了正确通信,我们需要一个数据包。

这里的地址字段就是要求发送方的TX_ADDR和接收方的接收通道地址相同RX_ADDR_P0。

我们在配置为发送时,需要配置TX_ADDR,配置为接收时,配置一个通道的RX_ADDR_P0和TX_ADDR相等。

怎么确定接收到数据了呢,接收方接收到后会自动发送ACK帧。

发送方接收ACK,需要再配置接收地址。这个地址和TX_ADDR的值相等。因为

这篇关于si24r1/nrf24l01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294104

相关文章

四轴飞行器、无人机(STM32、NRF24L01)

一、简介     此电路由STM32为主控芯片,NRF24L01、MPU6050为辅,当接受到信号时,处理对应的指令。 二、实物图 三、部分代码 void FlightPidControl(float dt) { volatile static uint8_t status=WAITING_1; switch(status) { case WAITING_1: //等待解锁 if(

NRF24L01(2.4G)模块的使用——SPI时序(软件)篇

一、SPI的简介:         SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。         SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上占用四根线,SCK(Serial Clock)、MOSI(Master Output Slave Input)

STM32F103VET6 2.4G通信模块NRF24L01 GPIO模拟SPI的测试例程

自己画的一块基于STM32F103VET6的开发测试板,留有一个NRF24L01+的通信接口,之前买了一些NRF24L01+的模块打算研究一下用上,淘宝上买的比较便宜,可以用于物联网方面的无线应用吧。          做过NRF905的通信,NRF24L01的也是有些相似。网上教程一大堆,我原理上设计为GPIO模拟SPI,因此我找了个GPIO 模拟SPI通信的例程,改了下,开始

NRF24L01一对多通信方法

如果你还搞不通2个NRF24L01之间的通信,请看瑞生写的这两篇文章《新手如何快速搞通NRF24L01通信》和《NRF24L01中文资料_原理_程序详解》。 搞通了2个NRF24L01的互相通信,一对多实际上就非常容易了。你要记住,一对多通信,实际上同一时刻也是一对一通信。一次通信只需几个毫秒,如果一个和一个通信完以后,再和另外一个通信,然后再和另外一个通信……这中间如果没有延时程序的话,对于人

NRF24L01无线模块六通道数据收发实现---关键参数配置说明

做一个设计,需要一个无线主机负责接收数据,六个无线从机负责采集温度数据,并将数据发送至主机; 数据传输方案有两种:1.轮询式,即主机轮询给各从机发送查询指令,收到指令的从机会将温度数据发送至主机,主机接收到该从机数据或超时未收到,则向下一个从机发送查询指令,直到查询完毕;     缺点:对主机采集数据频率高的不适用,这种采集方式花费时间较长,适合从机较少的系统中; 2.不同通道传输,各通道互不

Portapack应用开发教程(十七)nrf24l01发射 C

接下来看一下几个相关项目的代码。重点看看调制部分是如何实现的。 从难易程度排序,我认为最好先看send_simplified项目,然后再看send和recv项目,最后看BTLE项目(HackRF发射)。 send_simplified项目: btle_nrf24l01/send_simpified.ino at main · jamesshao8/btle_nrf24l01 · GitHub

NRF24L01 无线收发模块与 Arduino 的应用

NRF24L01 是一款常用的无线收发模块,与 Arduino 兼容性良好,可以用于实现无线通信和数据传输。本文将介绍如何将 NRF24L01 模块与 Arduino 配合使用,包括硬件的连接和配置,以及相应的代码示例。 一、引言 NRF24L01 是一款基于 2.4GHz 射频通信的低功耗无线收发模块,与 Arduino 兼容性良好。利用 NRF24L01 模块和 Arduino,开发者可以轻

NRF24L01实现多对一通信

前言 NRF24L01是一个常用的2.4G无线通信模块,经常在项目开发中会用到。用NRF24L01做一对一通信就比较多,但是一对多通信却比较少。我们都知道NRF24L01在接收模式下可以接收6个不同通道的数据。每个数据通道使用不同的地址,但是共用相同的频道。也就是说6个不同的NRF24L01设置为发送模式后可以与同一个设置为接收模式的NRF24L01进行通信,而设置为接收模式的NRF24L01可

nRF24L01一对多通信及多对一通信(一收多发、一发多收)

话不多说,直接先上nRF24L01的中文开发手册,https://pan.baidu.com/s/1exzhUFWcM6Q4R9JpYWnaYw,有需要者请自行下载。         玩动nRF24L01模块需要一定的对单片机寄存器操作及SPI通信知识储备。先从其硬件开始介绍: 该模块有8个引脚,功能描述如下:       在此不再赘述其引脚功能,在玩转这个模块之前,得准备2到3块s

基于Arduino开发板使用nRF24L01制作远程对讲机

我们生活在5G和支持5G的设备时代。但是,在需要远程、短距离、廉价和低成本通信的情况下,诸如对讲机系统和RF通信系统之类的旧技术仍然是最重要的。例如,如果您有建筑公司或重型轴承建筑公司,则您的工人需要相互沟通以进行协调工作。在对讲机的帮助下,他们可以相互交流并通过按“ PTT”按钮广播简短的指示,以向其他工人传送声音。另一个应用可能是在智能头盔中进行长途驾驶时在一组骑手之间进行通信,此处建议的模型