Forum: Mikrocontroller und Digitale Elektronik spi vom µC zu rf430cl330h


von Rafael B. (spihelp)


Angehängte Dateien:

Lesenswert?

Hallo,
ich möchte gerne über den µC an ein rf430cl über spi ein Signal senden. 
In meinem Fall 0x43. Ich weiß nun nicht ob ich einen Fehler im Code 
habe, oder in der Hardware. Kann jmd. vielleicht das Programm mal 
anschauen?
Ich bin mir vorallem unsicher, ob die beiden write Funktionen richtig 
sind. Falls etwas unklar ist beim Code, dann könnt ihr mich gerne 
Fragen. code2.txt ist der header zu RF430.h
Danke

von Maxx (Gast)


Lesenswert?

Rafael B. schrieb:
> Hallo,
> ich möchte gerne über den µC an ein rf430cl über spi ein Signal senden.
> In meinem Fall 0x43. Ich weiß nun nicht ob ich einen Fehler im Code
> habe, oder in der Hardware. Kann jmd. vielleicht das Programm mal
> anschauen?

Das ist nicht, was dein Code macht. Ich seh da vorher noch jede Menge 
andere Writes.
Aber: Obwohl du dich offensichtlich von 
http://www.ti.com/tool/rf430cl330htb hast inspirieren lassen nutzt du 
eine alte (fehlerbehaftete) Initialisierung.

Schau nochmal nach. Der CL330H ist eine Mimose.

> Ich bin mir vorallem unsicher, ob die beiden write Funktionen richtig
> sind. Falls etwas unklar ist beim Code, dann könnt ihr mich gerne
> Fragen.

Wenn sie aus dem offiziellen (aktuellem!) TI EvalBoard stammen sollte 
der Ablauf wohl stimmen. Dann verbelibt entweder HW Fehler oder C&P / 
Fehler beim Umsetzen der SPI Initialisierung bei deinem PIC.

von Maxx (Gast)


Lesenswert?

PS: Mit nicht aktuell meine ich vor Allem den Block im Orginal:
1
  /****************************************************************************/
2
    /* Errata Fix : Unresponsive RF - recommended firmware                      */
3
    /****************************************************************************/
4
  {
5
    //Please implement this fix as given in this block.  It is important that
6
    //no line be removed or changed.
7
    unsigned int version;
8
    version = Read_Register(VERSION_REG);  // read the version register.  The fix changes based on what version of the
9
                         // RF430 is being used.  Version C and D have the issue.  Next versions are
10
                         // expected to have this issue corrected
11
                         // Ver C = 0x0101, Ver D = 0x0201
12
    if (version == 0x0101 || version == 0x0201)
13
    {  // the issue exists in these two versions
14
      Write_Register(0xFFE0, 0x004E);
15
      Write_Register(0xFFFE, 0x0080);
16
      if (version == 0x0101)
17
      {  // Ver C
18
        Write_Register(0x2a98, 0x0650);
19
      }
20
      else
21
      {  // Ver D
22
        Write_Register(0x2a6e, 0x0650);
23
      }
24
      Write_Register(0x2814, 0);
25
      Write_Register(0xFFE0, 0);
26
    }
27
    //Upon exit of this block, the control register is set to 0x0
28
  }
29
30
31
  /****************************************************************************/
32
    /* Configure RF430CL330H for Typical Usage Scenario                         */
33
    /****************************************************************************/

von Rafael B. (spihelp)


Lesenswert?

Ist rf430 ein eeprom? Kennst du den Unterschied zwischen CS und SS?

von Konstanty K. (konstanty)


Lesenswert?

Hallo Rafael,

hast du das Problem inzwischen gelöst?

Sitze gerade auch an einem RF430CL330H und versuche den mit einen PIC18 
zu steuern.

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.