Commands über SPI senden an Registeradresse

OP #4988025
Lesenswert?

Hallo ich möchte einen IC-TW28 mit einem XMEGA A3U betreiben.

http://www.ichaus.de/upload/pdf/TW28_datasheet_C1en.pdf

Ich betreibe bereits erfolgreich ein Display über SPI.

Unterschiede zum Display:

Display hat feste Commands und der TW28 hat Registeradressen wo Commands 
reingeschrieben werden müssen.

Außerdem sind die Commands für den TW28 nicht 8 Bit lang sondern 32 Bit 
lang.

Ich Zerpflücke die 32 Bit so:

/c void spid_Send32(uint32_t data)
{

  uint8_t data0 = data;
  uint8_t data1 = (data >> 8 );
  uint8_t data2 = (data >> 16 );
  uint8_t data3 = (data >> 24 );




  PORTD.OUTCLR = PIN4_bm;                //Fallende Flanke an XSS
  SPID_STATUS=data0;
  Spid_Busy();
  SPID_STATUS=data1;
  Spid_Busy();
  SPID_STATUS=data2;
  Spid_Busy();
  SPID_STATUS=data3;
  Spid_Busy();
  PORTD.OUTSET = PIN4_bm;                //XSS wieder High

}
/c



Ich weiß versteh leider nicht wie ich die Commands in die richtigen 
Register schiebe.

Andererseits merke ich grade die Adressen sind ja 32 Bit lang und die 
Commands eigentlich 8 Bit oder?

Seh den Wald vor lauter Bäumen nicht mehr


Ist es so, dass man zuerst das Commandbyte sendet und dann die 
Registeradresse hinterher schiebt?

also muss ich über SPI nicht 32BIT für ein Command senden sondern 40?
OP #4988062
Lesenswert?

Vielen Dank für den Hinweis

Beim Punkt Register Write steht tatsächlich was ich suche.
Jedoch wird daraus deutlich dass, die Registeradresse 16 Bits lang ist 
wenn ich aber in der RegisterTabelle nachschaue sehe ich z.B MAIN_CFG 
unter 0x0000.

Wie ist das zu verstehen?
OP #4988095
Lesenswert?

sorry meine Dummheit 0x00 ist ja nicht 32 BIT wie ich dachte.


da ich nur über SPI ins Register des TW28 schreiben möchte ist mein
CONTROL BYTE 110011000 richtig?


wie ich dann ins Register schreibe habe ich verstanden.
Meine Funktion noch die Reihenfolge ändern und ab durch SPI

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