Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Microcontroller MSP430-Launchpad von Texas Instruments

Posted on 6. April 20201. Mai 2023 by Stefan Draeger

Von der Firma WinSource Electronics habe ich den Microcontroller MSP430-Launchpad von Texas Instruments für dieses Review erhalten. 

  • Bezug
    • Lieferumfang
  • Technische Daten des MSP430-Launchpad von Texas Instruments
  • Aufbau des Microcontrollers
    • Pinout
  • Programmieren
    • einrichten der Entwicklungsumgebung Code Composer Studio
      • Beispiele
        • rote LED aktivieren
        • rote LED blinken lassen
        • Wechselblinken der roten sowie grünen LED
    • alternative Entwicklungsumgebung – Energia IDE
      • Vergleich Arduino IDE & Energia IDE
      • Beispiele
        • rote LED blinken lassen
        • Wechselblinken der roten & grünen LED
        • Button (S2) zum steuern der LEDs
  • Fazit

Bezug

Diesen kleinen Microcontroller kann man wie bereits in der Einleitung erwähnt im Onlineshop von WinSource Electronics bezogen werden.

Lieferumfang

Zum Lieferumfang gehört

  • 1x Microcontroller MSP430-Launchpad,
    • 1x Microchip M430G2553 (vormontiert)
    • 1x Microchip M430G2452
  • 1x USB Kabel (ca. 50cm lang),
  • 2x 10 polige Buchsenleisten, sowie
  • 1x Micro Crystal, MS3V-T1R 32,768 kHz

Die zusätzlichen Microchips enthalten „nur“ den Speicher, die Recheneinheit ist auf der Platine verbaut.

Technische Daten des MSP430-Launchpad von Texas Instruments

Beim Microcontrollerboard MSP430 sind die Logikeinheit (M430F1612) und der Speicher getrennt. 

Microchip MSP430fF612
Microchip M430G2553

Die Logikeinheit hat folgende Technische Daten:

  • 16Bit RISC Architektur,
  • Prozessortakt
    • bei 1,8V > 4,15MHz
    • bei 3,6V > 8MHz 
  • 12Bit Analog zu Digital Wandler
  • dual 12Bit digital zu Analog Wandler

Weitere Technische Daten zum Chip M430F1612 findest du in der offiziellen Dokumentation vom Hersteller unter https://ti.com.

Dem Microcontroller liegen zwei Microchips bei, welche jeweils unterschiedlichen Speicher und Leistungen haben.

 M430G2452M430G2553
Flash Speicher 8kB 16 kB
RAM 256 Byte 512 Byte
digitale I/O Pins  16
16-bit Timer 1x 2x
Schnittstellen WDT, BOR, 1x USI (I2C/SPI) WDT, BOR, 1x USCI (I2C/SPI/UART)

Aufbau des Microcontrollers

Der Microcontroller hat die Abmaße 66mm x 51mm und eine Höhe von ca. 13mm. Neben der Micro – USB Buchse für die Verbindung zum Computer bzw. zur Stromversorgung über eine Powerbank oder ähnlichem verfügt dieser kleine Microcontroller über 2 Taster (einmal für Reset und einmal frei Programmierbar).

Was ich besonders gut finde ist dass, das Board auf kleinen, rutschfesten Gummifüßen steht. Somit hat dieser einen festen Stand auf dem Schreibtisch und „fliegt“ nicht so durch die Gegend wie ein Arduino UNO.

Pinout

Der Microcontroller verfügt über digitale sowie analoge Pins welche wir später mit einigen kleinen Beispielen programmieren möchten.
Hier also zunächst eine kleine Übersicht.

Pinout des Texas Instruments MSP430 Launchpad
Pinout des Texas Instruments MSP430 Launchpad

Programmieren

In den nachfolgenden Beispielen zeige ich dir wie du einige Aktoren / Sensoren an dem Texas Instruments MSP430 Launchpad anschließt und ausließt bze. steuerst.

Wenn wir das Board mit dem Computer verbinden so wird bereits ein kleines Programm ausgeführt welches die LEDs (rot & grün) abwechselnd blinken läßt.

einrichten der Entwicklungsumgebung Code Composer Studio

Für den Microcontroller gibt es die kostenfreie Entwicklungsumgebung „Code Composer Studio“ welche auf der Seite von Texas Instruments heruntergeladen werden kann. Es gibt jeweils eine Version für die verschiedenen Betriebssysteme (Linux, MacOS, Windows). Im nachfolgenden gehe ich darauf ein wie man die Software auf ein Microsoft Windows 10 PC installiert.

Die neue Version ist leider nicht mit einem 32bit System kompatibel hier müsste man eine Version vor CCSv8.3.1 wählen. (Da ich ein 64bit System habe kann ich die neue Version CCSv9 (stand 08.02.2020) installieren.)

Nachdem die ca. 1GB Datei heruntergeladen wurde, muss diese zunächst in ein beliebiges Verzeichnis entpackt werden. In dem nun neuen Verzeichnis befindet sich die Datei „ccs_setup_9.3.0.00012.exe“ welche mit einem Doppelklick gestartet wird. 

Nachfolgende zeige ich die Dialoge mit den jeweiligen, getroffenen Einstellungen für die Installation von Code Composer Studio v9 für das MSP430 Board.

Während der Installation wird gefragt ob man eine vollständige oder eine angepasste Installation möchte. Die vollständige Installation benötigt 4GB Festplattenplatz die angepasste mit dem Treiber für das Board MSP430 ca. 2.2 GB.

Wenn die Software wie in den Bildern angegeben installiert wurde, so sollte sich auf dem Desktop nun ein Icon für die Software „Code Composer Studio v9“ befinden.

Icon der Anwendung Code Composer Studio v9
Icon der Anwendung Code Composer Studio v9

Mit einem Doppelklick auf dieses Icon startet nun die Software und man wird aufgefordert ein Workspace anzulegen.

anlegen eines Workspaces für die Software "Code Composer Studio"
anlegen eines Workspaces für die Software „Code Composer Studio“

Ich habe in dem Installationsordner der Software einen Unterordner mit „Workspaces“ angelegt, in diesem werde ich dann die Verschiedenen Workspaces anlegen um die Projekte sauber zu trennen. Es kann natürlich der Standardwert belassen werden, dann wird der Workspace in dem Benutzerordner angelegt.
Mit einem klick auf die Schaltfläche „Launch“ wird dieser Vorgang abgeschlossen.

Beim ersten start werden einige Berechtigungen gesetzt hier wird ggf. ein Virenscanner oder ähnliches Alarm geben, in meinem Fall hat der Windows Defender etwas zum meckern gefunden was zusätzlich bestätigt werden musste.

bestätigen des Zugriffs von Node.js auf das Netzwerk
bestätigen des Zugriffs von Node.js auf das Netzwerk

Diese Tools / Plugins sind meist sehr wichtig und ein verhindern des Zugriffs kann zu Fehlfunktionen führen.

Wenn die Software nun fertig gestartet ist wird der Startbildschirm / die View „Getting Started“ angezeigt. Hier kann man nun wählen ob man in den bestehenden Ressourcen sich umschauen (Resource Explorer), ein neues Projekt anlegen (New Project) oder ein bestehendes Projekt importieren (Import Project) möchte.

Schaltflächen zum erzeugen eines neuen Projektes in CCS
Schaltflächen zum erzeugen eines neuen Projektes in CCS

Zunächst möchten wir ein neues Projekt anlegen, dazu klicken wir auf die Schaltfläche „New Project“. In dem neuen Dialog müssen wir nun die Einstellungen zum Microcontroller treffen.
Ich habe das Modell MSP-EXP430G2 und wähle die Einstellungen:

  • Target MSP430Gx Family (MSP430G2001)
  • Project name „HelloWorld“
CCS - neues Projekt für MSP430G2x erstellen
CCS – neues Projekt für MSP430G2x erstellen

Beispiele

Nachdem die Entwicklungsumgebung eingerichtet ist und wir ein Projekt erstellt haben, wollen wir nun ein erstes kleines Programm schreiben.
Das Board verfügt über 2 LEDs (rot, grün) welche wir relativ einfach ansteuern können.

rote LED aktivieren
#include <msp430.h> 


/**
 * main.c
 */
int main(void)
{
  WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer

  P1DIR = BIT0;            // als Ausgang definieren
  P1OUT = BIT0;            // die LED1 (rot) aktivieren

  // Endlosschleife
  // Wenn diese schleife nicht wäre dann würde das Programm sofort beenden und die LED wäre wieder aus.
  while(1) { }             
  
  return 0;
}
rote LED blinken lassen
#include <msp430.h> 


/**
 * main.c
 */
int main(void)
{
  WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
  P1DIR |= 0x01;
  while(1){
        P1OUT ^= 0x01;              // Togglen des Pins P1.0 mit exclusives OR Statement
        volatile unsigned int i;    // volatile um die Optimierung zu nutzen
        i = 25000;                  // Softwareseitige Pause
        do i--;
        while(i != 0);
  }
  return 0; //Dieser Code wird nicht erreicht.
}
Wechselblinken der roten sowie grünen LED
#include <msp430.h> 

void main(void) {
    WDTCTL = WDTPW | WDTHOLD;       //Stop watchdog timer

    //P1.0 (rote LED) & P1.6 (gruene LED) als Ausgang definieren
    P1DIR |= BIT0+BIT6;

    P1OUT |= BIT0;                  //rote LED, aktivieren
    P1OUT &= ~BIT6;                 //gruene LED, deaktivieren

    while(1)
    {
        P1OUT ^= (BIT0+BIT6);       //umkehren / toggeln der LED Status (AN > AUS, AUS > AN)

        volatile unsigned long i;
        for(i = 0; i < 20000; i++); //Softwareseitige Pause

    }
}

Weitere Beispiele zum programmieren findest du auch auf dem GitHub Repository https://github.com/ticepd/msp430-examples.

alternative Entwicklungsumgebung – Energia IDE

Zum einfacheren programmieren des Microcontrollers MSP430 habe ich die Entwicklungsumgebung Energia IDE gefunden.
Diese wirbt damit mit dem Chip MSP430G2452 kompatibel zu sein.
Leider hat die neue Version einen bekannten Bug und man muss für den genannten Chip die IDE in der Version E17 nutzen.

"Info über Dialog" - Energia IDE
„Info über Dialog“ – Energia IDE

Du kannst die ca. 200MB große Entwicklungsumgebung auf der Seite http://energia.nu/downloads/downloadv3.php?file=energia-0101E0017-windows.zip kostenfrei herunterladen.
Wenn du diese Datei heruntergeladen hast wird diese einfach in einen beliebigen Ordner entpackt und du kannst die Anwendung mit der Datei energia.exe starten.

Vergleich Arduino IDE & Energia IDE

Im „Info über…“ Dialog steht geschrieben „Modified version of the Wiring/Arduino IDE“ dieses merkt man an so ziemlich jeder Ecke der Software.

Fenster, Arduino IDE und Energia IDE
Fenster, Arduino IDE und Energia IDE

Die LEDs (rot & grün) und der Button auf dem MSP430 sind frei programmierbar.
Man kann diese über die Pins ansteuern oder aber über die internen Konstanten.

 PinKonstante
rote LEDP1_0RED_LED
grüne LEDP1_6GREEN_LED
Push Button (S2)P1_3PUSH2

In der Energia IDE fehlen unter anderem

  • der serielle Plotter,
  • der Bibliotheksmanager, und
  • der Boardmanager

Diese IDE ist also speziell auf die MSP Reihe von Texas Instruments ausgelegt.

Beispiele

rote LED blinken lassen
void setup(){
  pinMode(RED_LED, OUTPUT);
}

void loop(){
  digitalWrite(RED_LED, HIGH);
  delay(750);
  digitalWrite(RED_LED, LOW);
  delay(750);
}
Wechselblinken der roten & grünen LED
void setup(){
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);
}

void loop(){
  digitalWrite(RED_LED, HIGH);
  digitalWrite(GREEN_LED, LOW);
  delay(750);
  digitalWrite(RED_LED, LOW);
  digitalWrite(GREEN_LED, HIGH);
  delay(750);
}
Button (S2) zum steuern der LEDs
boolean ledRedActive = false;

void setup(){
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);

  pinMode(PUSH2, INPUT_PULLUP);
  
  Serial.begin(9600);
}

void loop(){
  if(digitalRead(PUSH2)==0){
    ledRedActive = !ledRedActive;
  
    digitalWrite(RED_LED, ledRedActive? HIGH:LOW);
    digitalWrite(GREEN_LED, ledRedActive? LOW:HIGH);
    delay(125);
  } 
}

Fazit

Der Microcontroller MSP430 von Texas Instruments ist ein sehr guter aber auch teurer Microcontroller. Diesen jedoch mit einem Arduino UNO (oder ähnlichem) vergleichen zu wollen wäre nicht fair. Der MSP430 kommt mit einem zusätzlichen Chip daher welcher mehr Speicher bietet und einem Quarz welcher bei Echtzeitanwendungen seinen Einsatz findet.

Die Programmierung des Microcontrollers ist in der Anwendung Code Composer Studio recht gewöhnungsbedürftig aber möglich. Die Entwicklungsumgebung Energia IDE liegt mir persönlich mehr, das liegt vielmehr daran das der geschriebene Code lesbarer und übersichtlicher ist. Jedoch bezweifle ich das sich „echte“ IoT Entwickler dieser Meinung anschließen werden.

Obwohl ich leichte Startschwierigkeiten mit dem Microcontroller hatte möchte ich nachfolgend gerne einige Beispiele in separaten Beiträgen herausbringen. Es wird jedoch kein 100%iger Ersatz für einen Arduino werden.

2 thoughts on “Microcontroller MSP430-Launchpad von Texas Instruments”

  1. martin sagt:
    6. April 2020 um 20:03 Uhr

    In Zeiten von ESP8266, ESP32, etc. sehe ich dafür keine Nische mehr

    Antworten
    1. Stefan Draeger sagt:
      6. April 2020 um 20:57 Uhr

      Hi,

      danke für dein Kommentar.
      Ja dieser Microcontroller ist schon sehr speziell, jedoch hat dieser einen ganz anderes Einsatzgebiet mal abgesehen von den fast dreifachen kosten gegenüber einem Microcontroller mit einem ESP Chip.

      Gruß,

      Stefan

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}