Skip to content

MrWei95/NRF24L01-STM32-Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NRF24L01 STM32 驱动+例程

有问题可以发邮件到[email protected]

驱动说明

驱动使用硬件SPI与模块通讯,未添加DMA(暂时没必要)。文本使用UTF-8编码。 可在NRF24L01.c中自定义地址:

uint8_t NRF24L01_Send_ADDR[5] = {0xF0, 0xF0, 0xF0, 0xF0, 0xF0};
uint8_t NRF24L01_Receive_ADDR[5] = {0xF0, 0xF0, 0xF0, 0xF0, 0xF0};

例程说明

例程使用STM32F103C8T6验证可行性。 两个单片机上电后发送机按下按钮自动发送六位数据包,每次按下后数据包数据均改变,包头为FF FE,包尾为EE ED,接收机在屏幕上显示接收数据包。 main.c中写了一个极其简单的数据包校验函数:

/**** 
	* 函    数:校验数据包
	* 参    数:Buf[]:接收的数据包
	* 返 回 值:无
	* 说    明:包头:FF FE 包尾:EE ED
	*/
void Check_RXdata(uint8_t Buf[])
{
	if (Buf[0] == 0xFF && Buf[1] == 0xFE)
	{
		if (Buf[4] == 0xEE && Buf[5] == 0xED)
		{
			Flag = 1;
		}
	}
}

例程为发送 + 接收二合一代码,使用NRF24L01_MODE控制模式,具体实现:

// 控制NRF24L01收发模式
#define		WIRELESS_MODE			0

#if WIRELESS_MODE == 0
#define		NRF24L01_TX_MODE		// 发送模式
#else
#define		NRF24L01_RX_MODE		// 接收模式
#endif

模块示例

NRF24L01

About

NRF24L01的STM32驱动及例程,包含标准库、HAL库、LL库

Topics

Resources

Stars

Watchers

Forks