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
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.
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 | /****************************************************************************/
|
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.