代码主要是根据NEC协议写的红外发射部分,解码代码网上很多,而关于编码后发射这部分并不丰富。我花了一些时间写了这个红外发射代码。希望给学红外通信的朋友带来些帮助。
1
51单片机与NRF24L01通信程序包括发送和接收两部分,NRF24L01.H 文件里有#define MODE 1 //MODE=1时 为发送代码 MODE=0时 为接收代码。 在主函数里有 #if MODE //发送 模式代码 TX_Mode(); //SPI_RW_Reg(FLUSH_RX,0x00); while(1) { Transmit(Tx_Buf); Delay(10); sta = SPI_Read(READ_REG + STATUS); if(TX_DS) { P1 = sta; //8位LED显示当前STATUS状态 发送中断应使bit5 = 1 灯灭 Delay(100); SPI_RW_Reg(WRITE_REG + STATUS, sta); } if(MAX_RT) //如果是发送超时 { P1 = sta; //发送超时时 8位LED灯 bit4 = 1 灯灭 Delay(150); SPI_RW_Reg(WRITE_REG + STATUS, sta); } } #else //接收 模式代码 StartUART(); RX_Mode(); Delay(0);//防止编译警告 while(1) { if(nRF24L01_RxPacket(Rx_Buf)) { LED = 0; Delay(100); for(i = 0; i < TX_PLOAD_WIDTH; i++) { R_S_Byte(Rx_Buf[i]); } } else { LED = 1; } } #endif 故你把MODE设置为1,它就是发送程序 而MODE设置为0,它就是接收程序
1
STC8+nRF24L01 无线收发射程序(模拟SPI)
2021-04-22 14:03:14 89KB STC8+nRF24L01
STC8+nRF24L01 无线收发射程序(硬件SPI)
2021-04-22 14:03:14 67KB STC8+nRF24L01 nRF24L01无线收发射程序
STC8+nRF24L01 无线收发程序(中继转发)
2021-04-22 14:03:14 105KB STC8+nRF24L01无线
Arduino的NRF24L01,注意引脚定义要更改,主要是增加了waitpacketsent函数一个timeout参数,不会一直等待,适合高数据量情况。
2021-04-21 21:20:48 145KB NRF24L01 Arduino
1
修改自正点原子的例程,通过mpu6050将欧拉角输给NRF24L01,再由小车主板的NRF24L01接收判定小车如何运动。电机驱动为L293D。
2021-04-20 22:01:39 9.90MB 程序设计
1
Research on Frequency-Hopping Spread Spectrum protocol with NRF24L01.zip
2021-04-20 19:04:20 25.73MB NRF24L01
nRF24L01+ 单芯片 2.4GHz 收发器产品数据手册 中文版 nRF24L01 +是具有嵌入式基带协议引擎(Enhanced ShockBurst™)的单芯片 2.4GHz 收发器,适用于超 低功耗无线应用。nRF24L01 +设计用于在 2.400-2.4835GHz 的全球 ISM 频段工作。 要使用 nRF24L01 +设计无线电系统,您只需要一个 MCU(微控制器)和一些外部无源组件。 您可以通过串行外设接口(SPI)操作和配置 nRF24L01 +。可以通过 SPI 访问的寄存器映射包含 nRF24L01 +中的所有配置寄存器,并且可以在芯片的所有工作模式下访问。 嵌入式基带
1
NRF24L01 发送和接收程序 已经试验通过
2021-04-19 15:35:46 118KB NRF24L01 发送和接收程序
1