cxl2014_ok 发表于 2014-11-2 15:28:16

问题贴:关于无线nrf24l的中断问题。。。

假设nrf24l无线模块工作正常,但如果此时两个模块中的发射端没电了,接收端如何停止工作?捣鼓半天了,是不是要在这个程序段上考虑?
if (Mirf.dataReady()){
    Mirf.getData((byte *) &rxData);



目前发射端发射“1”到接收端,接收端收到“1”,但如果发射端断电后,接收端是否可以变成接收到“0”?


请大神指教。。。

ourutopia 发表于 2014-11-2 20:37:27

接收放loop里,没有数据收到的时候Mirf.dataReady()就false了啊
等待一小段时间,直接把收到的数据变量赋成0

cxl2014_ok 发表于 2014-11-2 21:21:01

ourutopia 发表于 2014-11-2 20:37 static/image/common/back.gif
接收放loop里,没有数据收到的时候Mirf.dataReady()就false了啊
等待一小段时间,直接把收到的数据变量赋成 ...

意思有点不懂,能不能举例说明一下,谢谢。

ourutopia 发表于 2014-11-3 13:27:18

cxl2014_ok 发表于 2014-11-2 21:21 static/image/common/back.gif
意思有点不懂,能不能举例说明一下,谢谢。

loop
{
    if(Mirf.dataReady())
    {
         a='1';
    }
    else
    {
         a='0';
    }
}

cxl2014_ok 发表于 2014-11-3 21:01:35

ourutopia 发表于 2014-11-3 13:27 static/image/common/back.gif
loop
{
    if(Mirf.dataReady())


判断速度太快了啊,信号通时候灯一闪一闪的,加了个延时但影响了LOOP里面接收数据的速度了。。。

ourutopia 发表于 2014-11-3 21:47:33

cxl2014_ok 发表于 2014-11-3 21:01 static/image/common/back.gif
判断速度太快了啊,信号通时候灯一闪一闪的,加了个延时但影响了LOOP里面接收数据的速度了。。。

一闪一闪的有问题么?太快了就在loop里加个计数器呗

cxl2014_ok 发表于 2014-11-3 23:41:02

ourutopia 发表于 2014-11-3 21:47 static/image/common/back.gif
一闪一闪的有问题么?太快了就在loop里加个计数器呗

计数器??是真值里面的计数还是假值里面的计数?目前是如果接收到信号的话灯一亮,而接收不到的话就灯二亮,但结果是灯一亮了,灯二就一闪一闪的亮。好像是假值判断的太快了。怎样才能将假值准确的判断?麻烦了。

cxl2014_ok 发表于 2014-11-4 23:06:59

ourutopia 发表于 2014-11-3 21:47 static/image/common/back.gif
一闪一闪的有问题么?太快了就在loop里加个计数器呗

如何对接收到的多个数字进行判断,如:2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2这几个数或多个数进行判断,如果出现了“1”这个值,程序就判断为假值,如果都为“2”则为真值。。。

ourutopia 发表于 2014-11-5 09:20:56

cxl2014_ok 发表于 2014-11-4 23:06 static/image/common/back.gif
如何对接收到的多个数字进行判断,如:2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2这几个数或多个数进行 ...

bool b=false;

loop
{
if(a==1)
{
    b=false;
}
else if(a==2)
{
    b=true;
}
}

cxl2014_ok 发表于 2014-11-5 22:36:49

ourutopia 发表于 2014-11-5 09:20 static/image/common/back.gif
bool b=false;

loop


还是不行,准备用数组方法试试,把接收到的所有值赋给a,并放到数组里面进行判断,如果都为2,就为真,如果不都为2,则为假,这样行不?
页: [1]
查看完整版本: 问题贴:关于无线nrf24l的中断问题。。。