RFM12 ready problem

Gast #1694963
Lesenswert?

hallo Leute,
ich habe mir zwei AVR-Funk boards von Pollin besorgt inklusive die RFM12 
Module.
Nun habe ich diverse Programme aus diesem Forum verwendet und immer das 
selbe Problem.
Wenn ich das board auf empfang ist bleibt er in der ready funktion 
hängen bis es etwas empfängt.
Dann habe ich ein timeout eingebaut und jetzt kommt immer der timeout 
kein empfangen möglich.Ich habe auch ein pullup an FSK Pin.
ich habe echt keine Ahnung was ich machen kann.
Kann mir da bitte jemand helfen.

ach ja getestet habe ich das ganze mit dem treiber von flashcraft und 
von benedikt K. immer das selbe problem.
was kann das sein?
Gast #1695967
Lesenswert?

ja das hab ich es klappt ja auch wenn einer Sendet Empfämgt der andere 
das auch. Das Problem ist halt nur, das der Empfanger jedesmal in der 
ready funktion wartet bis es etwas empfängt.
mach schon seit drei tagen rum ohne erfolg bin echt ratlos.
Gast #1697235
Lesenswert?

noob schrieb:
> ja das hab ich es klappt ja auch wenn einer Sendet Empfämgt der andere
> das auch. Das Problem ist halt nur, das der Empfanger jedesmal in der
> ready funktion wartet bis es etwas empfängt.
> mach schon seit drei tagen rum ohne erfolg bin echt ratlos.

ist wohl im "Design" der Software so vorgesehen.
Gast #1697252
Lesenswert?

Hallo noob,

bau deine wait ready Routine mal so um:
1
unsigned char rfm12_wait_ready(void)                                        //
2
{                                                                           //
3
    unsigned char ready     = 0;                                            //
4
    unsigned int  timeout   = 1000;                                         //
5
    while( (ready==0) && (timeout!=0) )                                     //
6
    {                                                                       //
7
        if ( rfm12_status()& 0x8000 )                                       //
8
        {                                                                   //
9
            ready = 1;                                                      //
10
        }                                                                   //
11
        timeout--;                                                          //
12
    }                                                                       //
13
    if ( timeout == 0 )                                                     //
14
    {                                                                       //
15
        return 0;                                                           //
16
    }                                                                       //
17
    else                                                                    //
18
    {                                                                       //
19
        return 1;                                                           //
20
    }                                                                       //
21
}                                                                           //

Der µC hat sich bei mir auch dumm und Dusselig gewartet, wenn ich das 
Statuswort abfrage dann gehts.

Gruß aus Köln

Frank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren