Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC...

11
Schnellstart mit dem Texas Instruments MSP-EXP430G2 LaunchPad Entwicklungskit Christian Immler E D I T I O N Der schnelle und praxisbezogene Einstieg in die Programmierung der 16-Bit-Mikrocontroller aus der MSP430G2xx Value Line Series. • Entwicklungsboard mit Emulation für Programmierung und Debugging • Austauschbarer Mikrocontroller und erweiterbar durch BoosterPacks • Direkter Einstieg in die Programmierung mit komplett beschriebenen Projekten • Programmierung über die Entwicklungsumgebung Energia

Transcript of Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC...

Page 1: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

ISBN 978-3-645-10158-5

Christian Immler

Die LaunchPad-Plattform von Texas Instruments

stellt, dank übersichtlicher Hardware und gut zu

verstehender Software, einen einfachen und

schnellen Einstieg in die Programmierung von

Mikrocontrollern dar.

Das TI LaunchPad MSP-EXP430G2 unterstützt dabei

die 16-Bit-Mikrocontroller MSP430 mit 14 oder 20

Pins. Die Pins sind direkt über Steckleisten nach

außen geführt, um eine schnelle Erweiterung zu

gewährleisten. Der Mikrocontroller ist auf dem

Board nicht fest verdrahtet, sondern kann ausge-

tauscht werden. Daher kann das MSP-EXP430G2

LaunchPad auch als Flash-Programmer für die

unterstützten Prozessoren eingesetzt werden.

Nach einem praktischen Einstiegsbeispiel mit der

Programmierumgebung Energia wird anhand von

sechs Projekten die Nutzung des Boards gezeigt.

In den Projekten kommen die hauptsächlichen

Elemente der Platine zum Einsatz. Die Beschrei-

bung umfasst sowohl den Hardwareaufbau, als

auch die notwendigen Schritte in Energia.

Zum Abschluss wird gezeigt, wie der program-

mierte Mikrocontroller ohne LaunchPad eingesetzt

werden kann.

Aus dem Inhalt:• TI LaunchPad MSP-EXP430G2

im Überblick• TI LaunchPad am PC

anschließen• Programmierung mit Energia• Hardwareprojekt:

Fußgängerampel mit Taster• Hardwareprojekt: LED-Würfel• Hardwareprojekt:

LED dimmen (PWM)• Hardwareprojekt: Analoge

Eingabe mit Pegelanzeige• Hardwareprojekt:

LCD-Display ansteuern• Mikrocontroller MSP-430

ohne TI LaunchPad nutzen• BoosterPacks• Code Composer Studio• Kompatible Mikrocontroller

Schnellstart mit dem Texas Instruments

MSP-EXP430G2LaunchPad Entwicklungskit

Christian Immler

E D I T I O N

Der schnelle und praxisbezogene Einstieg in die Programmierung der 16-Bit-Mikrocontroller aus derMSP430G2xx Value Line Series.

• Entwicklungsboard mit Emulation für Programmierung und Debugging

• Austauschbarer Mikrocontroller und erweiterbar durch BoosterPacks

• Direkter Einstieg in die Programmierung mit komplett beschriebenen Projekten

• Programmierung über die Entwicklungsumgebung Energia

Der schnelle und praxisbezogene Einstieg in die Programmierung der 16-Bit-Mikrocontroller aus derMSP430G2xx Value Line Series.

Schnellstart mit dem Texas Instruments

MSP-EXP430G2LaunchPad Entwicklungskit

10158-5 U1+U4 14.01.15 12:44 Seite 1

Page 2: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

3

Inhaltsverzeichnis

1 TI LaunchPad MSP-EXP430G2 im Überblick ................................................................ 5 1.1 Die Bestandteile der Platine......................................................................................5 1.2 Mitgeliefertes Zubehör .............................................................................................. 7 1.3 TI LaunchPad am PC anschließen ............................................................................8

2 Programmierung mit Energia ..................................................................................... 11 2.1 LED auf dem LaunchPad blinkt ............................................................................... 11

3 Hardwareprojekte mit dem TI LaunchPad MSP-EXP430G2 ......................................... 13 3.1 Benötigte Teile..........................................................................................................14 3.2 Fußgängerampel mit Taster.....................................................................................16 3.3 LED-Würfel ...............................................................................................................21 3.4 LED dimmen (PWM)................................................................................................24 3.5 Analoge Eingabe mit Pegelanzeige.......................................................................... 27 3.6 Kommunikation mit dem PC....................................................................................31 3.7 LCD-Display ansteuern ............................................................................................ 33 3.8 Mikrocontroller MSP430 ohne TI LaunchPad nutzen............................................. 37

4 Erweiterungen ...........................................................................................................41 4.1 Boosterpacks ............................................................................................................41 4.2 Code Composer Studio............................................................................................45 4.3 Kompatible Mikrocontroller....................................................................................46

Page 3: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

31

3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine bidirek-tionale serielle Datenübertragung über die USB-Schnittstelle. Die serielle Datenübertragung kann entweder über die Pins TXD (P1.1) und RXD (P1.2) oder aber über die USB-Schnittstelle laufen. Dies wird über die beiden Jumper TXD und RXD umgeschaltet. Um für das folgende Projekt Daten über die USB-Schnittstelle zu übertragen, drehen Sie die beiden Jumper um 90 Grad, sodass sie wie abgebildet auf dem TI LaunchPad stecken.

Jumperstellung für die Datenübertragung über die USB-Schnittstelle.

Klicken Sie in Energia oben rechts auf das Symbol Serial Monitor oder drücken Sie die Tasten-kombination [Strg]+[Umschalt]+[M]. Damit öffnet sich ein Fenster, in dem Sie Tastatureingaben an das TI LaunchPad senden können und umgekehrt auch Ausgaben auf dem PC sehen.

Serial Monitor einschalten.

Der Sketch serial.ino ermöglicht es, die grüne LED auf dem TI LaunchPad über Tastatur-kommandos zu steuern.

void setup(){

pinMode(GREEN_LED, OUTPUT);

Serial.begin(9600);

Serial.println("1 schaltet LED ein");

Serial.println("0 schaltet LED aus");

}

void loop(){

if (Serial.available()){

int c = Serial.read();

if (c == '1'){

digitalWrite(GREEN_LED, HIGH);

Page 4: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

32

Serial.println("LED eingeschaltet");

}

else if (c == '0'){

digitalWrite(GREEN_LED, LOW);

Serial.println("LED ausgeschaltet");

}

else {

Serial.print("Unbekannt: ");

Serial.println(char(c));

}

}

}

Drücken Sie nach der Übertragung des Sketchs auf das TI LaunchPad den Reset-Taster. Danach erscheinen die ersten Textzeilen im Serial Monitor. Tippen Sie jetzt eine 1 oder eine 0 in das Eingabefeld oben ein und bestätigen Sie mit der [Enter]-Taste oder einem Klick auf Send. Damit wird die grüne LED ein- oder ausgeschaltet. Gibt man etwas anderes als 1 oder 0 ein, erscheint eine entsprechende Meldung.

Der Serial Monitor.

3.6.1 So funktioniert es Der Sketch verwendet die bei Energia mitgelieferten Funktionen der Serial-Bibliothek. Diese beginnen alle mit dem Schlüsselwort Serial. Achten Sie dabei auf die Großschreibung am Anfang.

void setup(){

pinMode(GREEN_LED, OUTPUT);

Serial.begin(9600);

In der Prozedur void setup() wird die serielle Kommunikation initialisiert. Der Wert 9600 ist der Standardwert für die Datenübertragungsrate, 9.600 Bit/Sekunde.

Page 5: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

33

Serial.println("1 schaltet LED ein");

Serial.println("0 schaltet LED aus");

Nach der Initialisierung werden direkt die ersten beiden Textzeilen ausgegeben, die dem Benut-zer die beiden einfachen Kommandos erklären. Die Funktion Serial.println() schreibt einen Text mit anschließendem Zeilenumbruch.

void loop(){

if (Serial.available()){

Die Prozedur void loop() prüft ständig, ob am seriellen Port Daten liegen.

int c = Serial.read();

Ist das der Fall, wird das übertragene Zeichen mithilfe der Funktion Serial.read() in der Integer-Variablen c gespeichert.

if (c == '1'){

digitalWrite(GREEN_LED, HIGH);

Serial.println("LED eingeschaltet");

}

Handelt es sich um das Zeichen '1' (nicht zu verwechseln mit dem Zahlenwert 1), wird die grüne LED eingeschaltet und anschließend eine Textzeile ausgegeben.

else if (c == '0'){

digitalWrite(GREEN_LED, LOW);

Serial.println("LED ausgeschaltet");

}

Handelt es sich um das Zeichen '0', wird die grüne LED ausgeschaltet und anschließend eine Textzeile ausgegeben.

else {

Serial.print("Unbekannt: ");

Serial.println(char(c));

}

Bei jedem anderen Zeichen wird ein Hinweis wegen eines unbekannten Zeichens ausgegeben. Dabei wird die Funktion Serial.print() verwendet, die einen Text ohne anschließenden Zeilenumbruch ausgibt. Die Variable c beinhaltet intern die Nummer des eingegebenen Zeichens und nicht das Zeichen selbst. Über die Funktion char() wird aus dieser Nummer wieder das für den Benutzer lesbare Zeichen ermittelt und anschließend ausgegeben.

3.7 LCD-Display ansteuern Das nächste Projekt zeigt, wie man Texte auf einem zeichenorientierten LCD-Display darstellt. Derartige Displays sind in vielen elektronischen Geräten eingebaut. Bei zeichenorientierten Dis-plays brauchen Sie sich nicht selbst um die Ansteuerung einzelner Pixel zu kümmern. Ein eige-

Page 6: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

34

ner Controller auf dem Display verarbeitet Zeichen, die als ganze oder halbe Bytes auf den Datenleitungen an das Display gesendet werden. Fast alle derartigen Displays sind zum Quasi-Standard HD44780 kompatibel. Dieser bezeichnet den Hitachi-Chip, der solche Displays steuert.

LCD-Display am TI LaunchPad.

Die Displays haben üblicherweise eine 16-polige Anschlussleiste. Löten Sie hier einen Pfosten-verbinder mit den kürzeren Pins so an, dass die längeren Pins nach unten frei herausstehen. Damit lässt sich das Display auf eine Steckplatine aufstecken.

3.7.1 Pin-Belegung eines HD44780-kompatiblen Displays

Pin Funktion Beschreibung

1 VSS Stromversorgung Masseleitung 0 V

2 VDD Stromversorgung +5 V

3 V0 Kontrasteinstellung, 0 V ... 5 V

4 RS Register Select

5 RW Read/Write, wenn vom Display nichts ausgelesen wird, mit 0 V verbinden

6 E Enable (Umschaltsignal)

7 D0 Datenbit 0 (im 4-Bit-Modus nicht benötigt)

8 D1 Datenbit 1 (im 4-Bit-Modus nicht benötigt)

9 D2 Datenbit 2 (im 4-Bit-Modus nicht benötigt)

10 D3 Datenbit 3 (im 4-Bit-Modus nicht benötigt)

11 D4 Datenbit 4

12 D5 Datenbit 5

13 D6 Datenbit 6

14 D7 Datenbit 7

15 A Hintergrundbeleuchtung, Vorwiderstand erforderlich

16 K Hintergrundbeleuchtung Masseleitung

Page 7: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

35

Benötigte Bauteile: 1x Steckplatine, 1x LCD-Display, 1x 220-Ohm-Widerstand (Rot-Rot-Braun), 1x Potenziometer, 8x Verbindungskabel, 6x Drahtbrücke (unterschiedliche Längen)

Anschluss des Displays am TI LaunchPad.

Vor der LED der Hintergrundbeleuchtung — Display-Pin 15 — wird wie bei allen LEDs ein 220-Ohm-Widerstand als Schutz gegen Überlastung vorgeschaltet. Auf den meisten Schaltplänen im Internet sieht man hier einen 560-Ohm-Widerstand. Dieser ist nötig, wenn das Display stan-dardmäßig mit 5 V versorgt wird. Das TI LaunchPad liefert aber nur 3,3 V. Zur Kontrastregelung bauen Sie ein 15-kOhm-Potenziometer ein, das dem Display-Pin 3 eine Spannung zwischen +3,3 V und 0 V zuführt.

Das Display unterstützt zwei Modi zur Übertragung der Daten. Im 8-Bit-Modus kann ein kom-plettes Zeichen auf einmal übertragen werden. Meistens wird aber der 4-Bit-Modus verwendet, da dieser vier Ports am sendenden Gerät spart. Hier werden die Daten eines Zeichens in zwei Blöcken hintereinander übertragen.

Energia liefert eine Bibliothek mit, die alle wichtigen Funktionen zur Ansteuerung eines LCD-Displays enthält. Sie brauchen sich also um die Ansteuerung der Display-Hardware nicht zu kümmern.

Der Sketch lcd.ino zeigt die grundlegenden Funktionen zur Textdarstellung auf dem LCD-Display.

Page 8: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

36

#include <LiquidCrystal.h>

//lcd(RS, E, D4, D5, D6, D7);

LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5);

void setup() {

lcd.begin(16, 2);

lcd.print("Sekunden seit");

lcd.setCursor(0, 1);

lcd.print("Reset: ");

}

void loop() {

lcd.setCursor(7, 1);

lcd.print(millis()/1000); }

Anzeige auf dem Display.

3.7.2 So funktioniert es Der Sketch zeigt einen statischen Text sowie die seit dem letzten Reset des TI LaunchPad ver-gangene Zeit auf dem LCD-Display an.

#include <LiquidCrystal.h>

Jeder Sketch, der das Display nutzt, muss die Bibliothek LiquidCrystal.h einbinden.

//lcd(RS, E, D4, D5, D6, D7);

Zeilen, die mit zwei Schrägstrichen beginnen, sind nur Kommentare. Sie werden vom Mikrocon-troller nicht ausgewertet. Diese Kommentarzeile zeigt, in welcher Reihenfolge die Pins zum Anschluss des Displays aufgelistet werden müssen. Sie können diese Kommentarzeile weglas-sen, ohne dass sich an der Funktionalität des Sketchs etwas ändert.

LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5);

Jetzt wird eine Variable vom neuen Typ LiquidCrystal angelegt, die das Display im Sketch repräsentiert. Hier legen Sie in der in der Kommentarzeile erwähnten Reihenfolge die verwende-ten Anschlusspins für die Leitungen RS, Enable sowie die vier Datenleitungen im 4-Bit-Modus fest.

Page 9: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

37

In der Prozedur void setup() wird das Display initialisiert und auch gleich der statische Text dargestellt.

lcd.begin(16,2);

Diese Zeile initialisiert das LCD-Display und legt dessen Dimensionen fest. Die beiden Parameter bezeichnen die Anzahl von Zeichen in einer Zeile (hier 16) sowie die Anzahl der Zeilen (hier 2).

Der Cursor steht am Anfang in der oberen linken Ecke am ersten Zeichen der ersten Zeile.

lcd.print("Sekunden seit");

Jetzt wird die erste Textzeile auf das LCD-Display geschrieben.

lcd.setCursor(0, 1);

Danach wird der Cursor auf das erste Zeichen der zweiten Zeile gesetzt. Die Nummerierung der Zeichen und Zeilen beginnt mit 0. Daher steht die 0 für das erste Zeichen und die 1 für die zweite Zeile des Displays.

lcd.print("Reset: ");

Dieser Text wird in die zweite Zeile geschrieben.

void loop() {

lcd.setCursor(7, 1);

lcd.print(millis()/1000);

}

Die Prozedur void loop() schreibt mit ständiger Wiederholung die aktuell seit dem letzten Reset vergangene Zeit in Sekunden. Dazu wird die Standardfunktion millis() verwendet, die jederzeit diesen Wert in Millisekunden zurückliefert. Damit der letzte Wert immer wieder auf dem Display überschrieben wird, wird der Cursor jedes Mal erneut auf die gleiche Startposition hinter dem statischen Text gesetzt.

3.8 Mikrocontroller MSP430 ohne TI LaunchPad nutzen Mit dem TI LaunchPad kann man einen Mikrocontroller programmieren und diesen anschlie-ßend herausnehmen, um ihn in eine eigene Schaltung ohne das LaunchPad einzubauen. Auf diese Weise spart man sich externe Programmiergeräte und kann sehr preisgünstige Elektronik-projekte aufbauen. Das Beispiel eines einfachen Lauflichts zeigt, wie so etwas funktioniert.

Page 10: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

38

Lauflicht mit TI LaunchPad und Steckplatine.

Bauen Sie zunächst das Lauflicht auf einer Steckplatine auf und schließen Sie das Ti LaunchPad an.

Benötigte Bauteile: 1x Steckplatine, 8x LED, 8x 220-Ohm-Widerstand (Rot-Rot-Braun), 11x Verbindungskabel, 1x Drahtbrücke

Lauflicht mit TI LaunchPad und Steckplatine.

Die Anschlüsse des Mikrocontrollers werden auf dem TI LaunchPad unmittelbar und ohne Kreu-zungen auf der Platine mit den Pins verbunden. Die Reihenfolge der Anschlüsse des Mikrocon-trollers ist also mit und ohne LaunchPad gleich.

Page 11: Schnellstart mit dem Texas Instruments MSP-EXP430G2 Launchpad · 31 3.6 Kommunikation mit dem PC Das TI LaunchPad bietet zur Kommunikation mit dem PC einen Serial Monitor an, eine

ISBN 978-3-645-10158-5

Christian Immler

Die LaunchPad-Plattform von Texas Instruments

stellt, dank übersichtlicher Hardware und gut zu

verstehender Software, einen einfachen und

schnellen Einstieg in die Programmierung von

Mikrocontrollern dar.

Das TI LaunchPad MSP-EXP430G2 unterstützt dabei

die 16-Bit-Mikrocontroller MSP430 mit 14 oder 20

Pins. Die Pins sind direkt über Steckleisten nach

außen geführt, um eine schnelle Erweiterung zu

gewährleisten. Der Mikrocontroller ist auf dem

Board nicht fest verdrahtet, sondern kann ausge-

tauscht werden. Daher kann das MSP-EXP430G2

LaunchPad auch als Flash-Programmer für die

unterstützten Prozessoren eingesetzt werden.

Nach einem praktischen Einstiegsbeispiel mit der

Programmierumgebung Energia wird anhand von

sechs Projekten die Nutzung des Boards gezeigt.

In den Projekten kommen die hauptsächlichen

Elemente der Platine zum Einsatz. Die Beschrei-

bung umfasst sowohl den Hardwareaufbau, als

auch die notwendigen Schritte in Energia.

Zum Abschluss wird gezeigt, wie der program-

mierte Mikrocontroller ohne LaunchPad eingesetzt

werden kann.

Aus dem Inhalt:• TI LaunchPad MSP-EXP430G2

im Überblick• TI LaunchPad am PC

anschließen• Programmierung mit Energia• Hardwareprojekt:

Fußgängerampel mit Taster• Hardwareprojekt: LED-Würfel• Hardwareprojekt:

LED dimmen (PWM)• Hardwareprojekt: Analoge

Eingabe mit Pegelanzeige• Hardwareprojekt:

LCD-Display ansteuern• Mikrocontroller MSP-430

ohne TI LaunchPad nutzen• BoosterPacks• Code Composer Studio• Kompatible Mikrocontroller

Schnellstart mit dem Texas Instruments

MSP-EXP430G2LaunchPad Entwicklungskit

Christian Immler

E D I T I O N

Der schnelle und praxisbezogene Einstieg in die Programmierung der 16-Bit-Mikrocontroller aus derMSP430G2xx Value Line Series.

• Entwicklungsboard mit Emulation für Programmierung und Debugging

• Austauschbarer Mikrocontroller und erweiterbar durch BoosterPacks

• Direkter Einstieg in die Programmierung mit komplett beschriebenen Projekten

• Programmierung über die Entwicklungsumgebung Energia

Der schnelle und praxisbezogene Einstieg in die Programmierung der 16-Bit-Mikrocontroller aus derMSP430G2xx Value Line Series.

Schnellstart mit dem Texas Instruments

MSP-EXP430G2LaunchPad Entwicklungskit

10158-5 U1+U4 14.01.15 12:44 Seite 1