Arduino与NRF24L01+模块使用Mirf库发送数据死在while(Mirf.isSending()){}解决就放分

Arduino1.0.5,NRF24L01+模块,连接针脚按arduino官网说明连接。运行后程序就在while(Mirf.isSending()){}这死循环,看了两遍... Arduino1.0.5,NRF24L01+模块,连接针脚按arduino官网说明连接。运行后程序就在while(Mirf.isSending()){}这死循环,看了两遍针脚,接的没问题啊也不应该存在接触不良现象。很郁闷,哪设置不对了么?
代码如下:
#include "SPI.h" //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
int data=0;

void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi; //加载24L01 SPI
Mirf.init();
Mirf.setRADDR((byte *)"srv02"); //接收地址" "
Mirf.payload = sizeof(int); //数据类型(整数)
Mirf.config();
}
void loop(){
data++;
sendData();
delay(1000);
}
void sendData()
{
Mirf.send((byte *)&data);
while(Mirf.isSending())
{
Serial.print("Sending...");
delay(100);
}
Serial.print("send data");
Serial.println(data);
}
========================================
在Nano下测试正常,Mega2560下发送数据每发送6~7次就会卡在while(Mirf.isSending()) { }这句好几秒钟,接收数据接收全是0(不停的接收)

MEGA2560的板子连接方式:
CE - to digital pin 49 (按需要更改)
CSN - to digital pin 53 (SS pin)
SCK - to digital pin 52 (SCK pin)
MOSI - to digital pin 51 (MOSI pin)
MISO - to digital pin 50 (MISO pin)
========================================
没有解决问题 很遗憾 关了~
展开
 我来答
出青文0Cxb2d
2015-06-09
知道答主
回答量:3
采纳率:0%
帮助的人:2.6万
展开全部
我遇到了同样的问题。今天拔掉nrf24l01,arduino裸板照样死在那儿。动动裸板,while(Mirf.isSending())竟然通过了。
但是arduino没有接上nrf24l01,isSending()和dataReady()也能返回True?程序太不严谨了吧。
6月份了,楼主你问题解决没?
匿名用户
2019-05-09
展开全部
不知道楼主问题解决么,我也遇到了相似的问题,可以指点指点么,谢谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2015-01-11 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4965万
展开全部

需要给你完成一份吗

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式