[MSP430] USART, SPI und I²C gleichzeitig?

Gast #394559
Lesenswert?
• ▲
▼
Hallo Leute!

Der MSP430F16X hat ja bekanntlich SPI, I²C und UART, aber nur zwei
USARTs. Bei meinem aktuellen Projekt müsste ich aber alle drei
verwenden. Daher habe ich drei Möglichkeiten in betracht gezogen (UART
ist auf USART1):
- Auf USART0 würche ich gerne abwechseld SPI und I²C verwenden. Kann
ich USART0 im laufenden betrieb einfach uminitialisieren?
- Gibt es vielleicht einen SPI->I²C oder einen I²C->SPI Wandler? Welche
Richting wäre am sinnvollsten?
- Kennt jemand gute Software-Implementationen von I²C oder SPI? Welches
wäre sinnvoller in Software?

Danke im Voraus
MfG
Mali
Gast #394560
Lesenswert?
• ▲
▼
Hi,

also ich sehe da kein Problem drin.
Nimm es so wie du es vorschlaegst, d.h.
Uart -> USART1
Spi  -> USART0 (wenn sie lt. Datenblatt daran liegt)
I2C  -> emulieren

I2C kannst du relativ einfach emulieren, da gibts auch Beispiele im
Netz. Ich selbst habe das auch schon gemacht, allerdings mit XC164CI
Controller (Infineon). Funktionierte tadellos fuer ein EEPROM.

Ich hoffe es hilft dir!

michael
Gast #394561
Lesenswert?
• ▲
▼
es ist möglich beide Funktionen zu nutzen. Abs schon mal ausprobiert.
Einfach Usart normal initialisieren und benutzen, wenn man I2C braucht
den I2C initialisieren (Ablauf steht im Datasheet).
Ist die I2C Kommunikation fertig kann man den USART wieder
reconfigurieren (siehe Datasheet zum MSP430).
Alles kein Problem.

Nur der Sendeinterrupt ist bei beiden gleich. Besser gesagt I2C nutz
für seine Interrupts den USART0TX.

power
Gast #394562
Lesenswert?
• ▲
▼
Hiho,
nutze gerade eine MSP430F1232 als Datenschleuder zwischen SPI und UART.
In einem Slot schalte ich die UART auf SPI, nehme Daten entgegen und
schalte danach wieder von SPI auf UART und schicke die Daten zum PC.
Klappt super. Wichtig ist, die State-Machine (SWRST) immer
zurückzusetzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.