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ß