Texas Instruments MSP430 Serie

Auf der Suche nach einer kleinen energisparenden MCU bin ich im September 2019 auf die MSN430FR Serie von Texas Instruments gestoßen. Hier sammele ich zunächst mehr als private Liste Hinweise zu diesem Thema. Später werde ich dann hier über meine Erfahrungen berichten

Hier findet man den Einstieg in die Energia IDE, die ein Derivat der Arduino IDE darstellt

MSP430FR2311IPW16R
16-Bit Mikrocontroller - MCU 16 MHz Ultra-Low-Power Microcontroller - 4 KB FRAM, 1 KB SRAM, 16 IO, 8ch 10-bit ADC, OpAmp, TIA 16-TSSOP bei MOUSER für 1,32 Euro/1 oder 0,895 Euro/100

Einbinden des MSP430FR2111 launch pad in Energia IDE
On GNU/Linuxes: ~/.energia15/packages/energia/hardware/msp430/1.0.3
On Windows: %LOCALAPPDATA%\Energia15\packages\hardware\msp430\1.0.3
On MacOS: ~/Library/Energia15/packages/hardware/msp430/1.0.3

Pinmap des MSP430FR2311 Lauch Pads

MSP430FR2433IRGER
16-Bit Mikrocontroller - MCU 16 MHz Ultra-Low-Power Microcontroller with 16 KB FRAM, 4 KB RAM, 10-bit ADC, 19 IO, 4 16-bit Timers 24-VQFN bei MOUSER für 2,15 Euro/1 oder 1,46 Euro/100

Pinmap des MSP430FR2433 Lauch Pads

MSP430FR2433 SleepSeconds high power usage = Vorgehen für Low Power trotz Energia IDE. Ergebnis: 0,000.9 mA = 0,9 µA = 900 nA

Code Coposer Studio mit driverlib.h

Wenn man das von Texas Instruments kostenlos erhältliche CCS verwendet, findet man für jeden Mikrocontroler eine passende driverlib.h. Diese ermöglicht einem den Code durch die darin enthaltenen "sprechenden" Bezeichnungen sehr leserlicher zu gestalten. Durch den höheren Abstraktionsgrad der definierten Bezeichnungen/Befehle kann man den Code leicht auf verschiedenen TI Mikrocontroler anpassen.

Die folgenden Inhalte habe ich dem MSP430 Design Workshop von Texas Instruments entnommen, der als 650 Seiten umfassendes pdf frei verfügbar ist. Zu diesem Workshop gibt es bei Youtube offizielle TI-Videos

Notizbuch zur driverlib.h: aus Kapitel 3 des MSP430 Design Workshop

CCS Syntax Coloring für driverlib Elemente über

CCS Syntax Coloring für driverlib Elemente über "Functions" (Radow ©)

Das Feld "C/C++" ist im "Preferences" Fenster nur zu erreichen, wenn man vorher unten im Fenster die Option "Show advanced settings" anklickt hat!

CCS mit driverlib versus CCS Klassisch

#include Diese muss man passend zu seinem Mikrocontroller in sein Projekt kopieren

WDT_A_hold(WDT_A_BASE); WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

PMM_unlockLPM5(); PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings

GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 ); P1DIR |= 0x01; // Set P1.0 to output direction

GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0); // P1.0 Switch off

GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); P1OUT ^= 0x01; //Toggle P1.0 using exclusive-OR

GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN2);

usiButton1 = GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN2);

Link

MSPFR2433 Data sheet

MSP430FR4xx and MSP430FR2xxfamily User`s Guide