现在用nrf24l01做一个跳动中继节点。收到的数据不能转发给主控台,请问什么原因
就是将a节点的温度传给b·b再传给c,用的是nrf24l01
#include"Allhead.h" sbit CE=P1^2; //RX/TX模式选择端 sbit IRQ=P1^3; //可屏蔽中断端 sbit CSN=P1^4; //SPI片选端//就是SS sbit MOSI=P1^5; //SPI主机输出从机输入端 sbit MISO=P1^6; //SPI主机输出从机输出端 sbit SCLK=P1^7; //SPI时钟端 unchar RevTempDate[5];//最后一位用来存放结束标志 unchar code TxAddr[]={0x40,0x43,0x10,0x10,0x01};//发送地址 unchar code RxAddr1[]={0x36};//编号2 /*****************状态标志*****************************************/ unchar bdata sta; //状态标志 sbit RX_DR=sta^6; sbit TX_DS=sta^5; sbit MAX_RT=sta^4; /*****************SPI时序函数******************************************/ unchar NRFSPI(unchar date) { unchar i; for(i=0;i<8;i++) // 循环8次 { if(date&0x80) MOSI=1; ************************************/ #include"reg52.h" #include"Allhead.h" /************************主函数********************/ void main() { //LCD1602Int(); *(RevTempDate+4)='\0'; LcdInt(); //12864液晶初始化 LcdClear(); //12864液晶清屏 Max232Int();//串口初始化 NRF24L01Int(); LcdWriteChStr(2,10,"当前温度:"); while(1) { NRFSetRXMode();//设置为接收模式 GetDate();//开始接受数 LCDDelay(1000); NRFSetTxMode(sta);发送模式 CheckACK(); LCDDelay(1000); }
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |