本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!