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 "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
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);
Links
Link
MSPFR2433 Data sheet
MSP430FR4xx and MSP430FR2xxfamily User`s Guide