前言
怎么说呢,今天又看了一天的nrf,很多东西看起来特别简单,但实际用起来,你会发现漏洞百出。根本不知从何下手。下来就分享一下我的经验。对你应该会有所帮助。以下是基于stm32实现的nrf无线通信。
必看
这篇博客不适合无基础的人来看,因为下面程序我只给出部分程序,所以没基础你可能看不懂程序配置的是什么。我主要分享的是多对一通信时不同通道寄存器的参数如何求取
NRF一对一通信
首先NRF一对一通信没得说很简单,而且出问题的几率很小。一对一通信我就不多讲了,给出主要配置收发的程序。
例(1)一对一通信,发送模式的主要配置
如果单做一对一通信建议就用通道p0吧。
//设置发送地址
const u8 TX_ADDRESS[TX_ADR_WIDTH]={
0x34,0x43,0x10,0x10,0x01}; //地址可以随便修改(仅针对通道P0的地址)
const u8 RX_ADDRESS[RX_ADR_WIDTH]={
0x34,0x43,0x10,0x10,0x01};//接收地址
/*******************************************************************/
//配置发送模式
void NRF24L01_TX_Mode(void)
{
NRF24L01_CE=0;
NRF24L01_Write_Buf(NRF_WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);//写TX节点地址
NRF24L01_Write_Buf(NRF_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH); //设置接收节点的地址
NRF24L01_Write_Reg(NRF_WRITE_REG+EN_AA