Hallo kann mir einer einen Tip geben wie ich 30 bit über die SPI in verschiedene Register lade. Dank im voraus
8 Bitweise. Mehr Info von deiner Seite -> mehr Antwort aus dem Forum. Das ist jedenfalls meine Erfahrung. Gruß Marcel
Man kann nur was einlesen, wenn man gleichzeitig was rausschickt. Hier also /SS aktiv machen, dann 4 x Dummy-Bytes rausschicken und gleichzeitig einlesen. Erst zum Abschluss /SS wieder deaktivieren. 30 Byte genau geht so nicht, aber u.U. spielt das keine Rolle. Sonst muss man 2x8 + 2x7 schicken / empfangen (soweit das einstellbar ist) oder 2 x 15 (gibt's auch als Möglichkeit bei manchen 16-Bit-uPs). "Zu Fuß", d.h. mit Ansteuerung aller Pins per Software kann man beliebig was machen.
Sorry aber ich bin in Thema SPI ein Neuling wie lese ich die denn in ein Register ein wenn ich die an einem Eingang reintakte.
U0TXBUF = 0xFF; /* Dummybyte an Sendepuffer */ while ((UTCTL0 & 0x01)==0); /* warten bis gesendet wurde */ rcv = U0RXBUF; /* Eingang Empfangspuffer speichern */ receiveBuffer[rcvCount--] = rcv; /* dann abspeichern in Array */ Die Bezeichnungen sind abhängig von deinem uP, den wir nicht kennen. Das ganze packst du in eine Schleife und fertig ist die Laube. Gruß Marcel
ich habe einen ATmega128. geht so was auch in Assembler oder nur in C. Danke schon mal
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.