Forum: Mikrocontroller und Digitale Elektronik RFM12 funktioniert nicht immer


von Richard B. (rbrose)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein komisch Problem. Im Dateianhang sieht man wie ich meine 
RFM12 angeschlossen habe.

Zu Problem:
1. Senden ging überhaupt nicht ... bis ich im Code diese Zeilen:
1
void rf12_ready(void)
2
{  cbi(RF_PORT, SDI);  
3
  asm("nop");
4
  asm("nop");
5
  while (!(RF_PIN&(1<<SDO))); // wait until FIFO ready
6
  cbi(RF_PORT, CS);
7
}

in folgende geändert habe:
1
void rf12_ready(void)
2
{  cbi(RF_PORT, SDI);
3
  cbi(RF_PORT, CS);
4
  asm("nop");
5
  asm("nop");
6
  while (!(RF_PIN&(1<<SDO))); // wait until FIFO ready
7
}

Jetzt funktioniert das senden ab und zu. Heißt ich gebe Strom ... geht 
nicht ... schalte ich aus ... gebe Strom wider Strom ... dann gehts usw.

Das komische ist ... wenn ich ISP Stecker von AVR Dragon Stecken lasse 
und ein Reset mit Dragon mache ... geht es immer.

ISP Stecker dran -> geht immer.


Was könnte das Problem sein? Irgendwie komme ich nicht drauf :-(


Vielen Dank für eure Ratschläge im voraus.

von Jean P. (fubu1000)


Lesenswert?

Richard B. wrote:
> Hallo zusammen,

Hallo.


> Zu Problem:
> 1. Senden ging überhaupt nicht ... bis ich im Code diese Zeilen:
>
>
1
> void rf12_ready(void)
2
> {  cbi(RF_PORT, SDI);
3
>   asm("nop");
4
>   asm("nop");
5
>   while (!(RF_PIN&(1<<SDO))); // wait until FIFO ready
6
>   cbi(RF_PORT, CS);
7
> }
8
>
>
> in folgende geändert habe:
>
>
1
> void rf12_ready(void)
2
> {  cbi(RF_PORT, SDI);
3
>   cbi(RF_PORT, CS);
4
>   asm("nop");
5
>   asm("nop");
6
>   while (!(RF_PIN&(1<<SDO))); // wait until FIFO ready
7
> }
8
>

Kein Wunder, der Chip Select Pin muss ja auch auf Low gezogen werden, 
damit der RFM überhaupt in die SPI Leitung "sprechen" darf.


> Jetzt funktioniert das senden ab und zu. Heißt ich gebe Strom ... geht
> nicht ... schalte ich aus ... gebe Strom wider Strom ... dann gehts usw.
> Das komische ist ... wenn ich ISP Stecker von AVR Dragon Stecken lasse
> und ein Reset mit Dragon mache ... geht es immer.
> ISP Stecker dran -> geht immer.
> Was könnte das Problem sein? Irgendwie komme ich nicht drauf :-(

Da hast höchstwahrscheinlich nen Masse Problem. Löte noch mal alle 
Massepunkte des RFM auf der Platine nach.


Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.