MSP430 und I2C

  • Ich habe hier im Forum ja schon ein wenig über die TI MSP430 µController geschrieben. Da einige Modelle sehr wenig Speicher haben, ist es nicht so leicht Daten auf einer seriellen Konsole auszugeben. Standard Funktionen wie wie sie aus der Arduino "Welt" bekannt sind (z.B. Serial.print) funktionieren bei Controllern mit wenig Speichern nicht, weil diese Standardfunktionen zu viel Platz verbrauchen. Momentan experimentiere ich mit einem MS430F2013, der nur zwei KB Flashspeicher hat. Um dennoch (Debug-)Ausgaben zu ermöglichen habe ich eine mini I2C C-Lib für MSP430 µController erstellt (MSP430X20XX Reihe), die nur über ein USI Modul verfügen.


    Der MSP430-Controller wird damit zu einem I2C-Slave der von einem "größeren" Controller (I2C-Master) ausgelesen werden kann. Der Master arbeitet dann als I2C to Serial-Gateway. Dadurch ist es möglich z.B. Register-/Messwerte auf der am Master angeschlossenen Konsole auszugeben. Um mögl. wenig Speicherplatz zu verbrauchen kann dieser Slave nur senden, aber keine Daten empfangen. Man kann die Funktionalität aber auch erweitern, sodass z.B. ein Befehlsbyte empfangen wird, mit dem die Datenausgabe oder anderes auf dem Slave gesteuert werden kann.


    Falls es einen interessiert, der Code und ein Bild mit Beispielaufbau ist auf Github zu finden. Ich habe das Ganze mit einem Raspberry Pico als Master getestet, man könnte aber auch einen Arduino Nano oder Uno (-Clone) oder ESP32 usw. verwenden.