Literatur- und Quellenverzeichnis
Bild 16: Aufbau Slave-Adresse (Quelle: Datasheet MCP23008)
Der Portextender besitzt wie der MSP430 Register, zehn um genau zu sein. Für eine einfache Ausgabe
sind nur zwei Register interessant, einmal das IODIR und das GPIO-Register.
Das IODIR-Register gibt an, ob sich das Ausgaberegister (GPIO) als Eingang oder als Ausgang
verhalten soll. Das Register muss einmal mit 0x00h beschrieben werden, um alle Pins im
Ausgaberegister als Ausgang zu konfigurieren, denn es sind alle nach dem Anschalten standartmäßig
als Eingang konfiguriert.
Und das GPIO-Register in dem die Ausgabewerte (Byte) geschrieben werden. Ist ein neuer Wert in
das Ausgaberegister geschrieben worden, nehmen die Ausgangspins am Portextender die Werte an.
Im Bild 17 ist ein Auszug aus dem Beispielprogramm zu sehen, indem die verwendeten Register mit
einer #define Anweisung, für eine bessere Übersicht im Programmcode, die entsprechenden Werte aus
dem Datenblatt zugewiesen worden sind.
Ein Hinweis zur Verwendung einzelner Pins in einem Register. Sollen einzelne Bit eines Registers
manipuliert werden empfiehlt es sich das ganze Register zu lesen, die entsprechenden Bits zu ändern
und das Register mit den geänderten Daten zu schreiben. Nur das Schreiben eines Registers, kann zur
Folge haben, dass unbeabsichtigt andere Bits überschrieben werden, besonders wenn der
Portextender von sich aus Status-Bits ändert.
Bild 17: Auszug Beispielprogramm Portextender Register
Handbuch MSP430 Education System
Seite 29