Forum: Mikrocontroller und Digitale Elektronik MSP430-413STK2 Tutorials Probleme


von Jacob (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe heute angefangen etwas mit dem Development Board von olimex 
rumzuprobieren um mir Hardwarenahe Programmierung nach und nach 
beizubringen.

Dazu wollte ich zuallererst die Tutorials abarbeiten, und habe auf der 
Seite vom Olimex ein Tutorial gefunden, welches Quasi alle Funktionen 
des Boards anspricht, also LEDs, Beeps, LCD usw.

Mein Problem ist allerdings, das dieses Tutorial genauso wie ähnliche 
Tutorials von TI auf meinem Board nicht zum erfolg führen. Zwar wird das 
Programm auf den MSP geschrieben, nur scheint die Zuweisung vorne und 
hinten nicht zu funktionieren, also anstelle eines LCD Ziffern Segmentes 
blinkt eine andere Stelle usw. In den Tutorials steht auch, das die LED 
an P5.1 angeschlossen ist, in meinem fall hängt sie aber an P6.2.

Mir ist auch die Zuweisung nicht wirklich klar. Mir würde es sehr 
helfen, wenn mir jemand den angehängen Tutorial Code (quasi Hello World) 
halbwegs erklären würde.

  P5DIR |= 0x01;
Was an dieser Stelle passiert, ist mir nicht ganz klar P5Dir ist ein 
Objekt oder eine Variable nehme ich an, |= heißt eigentlich sowas wie 
Odergleich?!

Mir würde ein gutes Tutorial hier wirklich weiterhelfen, ich 
programmiere sonst Java oder eher in Richtung Webgeschichten, habe auch 
vor kurzem ein kleines Projekt mit einem Java Mikrokontroller umgesetzt, 
allerdings lief dieses deutlich Hardwareferner ab, und hier an diesem 
Teil bin ich zur Zeit noch überforder, vor allem deswegen, weil ich mir 
die Programmiersyntax nicht anhand des Tutorials herleiten kann, da 
dieses nicht funktioniert. Ich versuche hierbei nicht in Assembler zu 
schreiben, sondern in C, allerdings habe ich hier keine wirklichen 
Erfahrungen, wobei C ansich nicht mein Problem ist, sondern eher diese 
Hardwarenahe Syntax.
1
#include "msp430.h"
2
3
int main(void)
4
{
5
  WDTCTL = WDTPW + WDTHOLD;             // Stop watchdog timer
6
  P5DIR |= 0x01;                        // Set P5.1 to output direction
7
8
  for (;;)
9
  {
10
    volatile unsigned int i;            // volatile to prevent optimization
11
12
    P5OUT ^= 0x01;                      // Toggle P5.1 using exclusive-OR
13
14
    i = 15000;                          // SW Delay
15
    do i--;
16
    while (i != 0);
17
  }
18
}

von Jacob (Gast)


Lesenswert?

Das Delay und so im Code ist klar, while und do sowieso, aber ich werde 
nicht ganz schlau, wie ich aus dem Datenblatt nun die Adresse meiner LED 
lese
http://www.olimex.com/dev/pdf/msp430-413stk2.pdf

von Jörg S. (joerg-s)


Lesenswert?

Für den Anfang schau mal hier:
http://www.mathar.com/msp430.html
und das hier an:
http://www.mikrocontroller.net/attachment/63080/MSP430_Testprogramme.pdf


>  P5DIR |= 0x01;
>Was an dieser Stelle passiert, ist mir nicht ganz klar P5Dir ist ein
>Objekt oder eine Variable nehme ich an, |= heißt eigentlich sowas wie
>Odergleich?!
Dazu z.B.:
http://www.cle-mens.de/docu/stream/5-ref/4-op/binary.html

>In den Tutorials steht auch, das die LED an P5.1 angeschlossen ist, in
>meinem fall hängt sie aber an P6.2.
Dann scheint das nicht der Code für dein Board zu sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jacob schrieb:
> P5DIR |= 0x01;
> Was an dieser Stelle passiert, ist mir nicht ganz klar
In diesem Fall empfehle ich Kernighan&Ritchie "Programmieren in C"  ;-)

> Was an dieser Stelle passiert, ist mir nicht ganz klar
Das ist eine der allereinfachsten Zuweisungen, die findest du im 
angesprochenen Buch ziemlich auf den ersten Seiten.
P5DIR ist ein Register, das die Richtung vom Port 5 einstellt.
Egal was da drin steht, es wird das erste Bit dazuverodert.
Die genaue Funktion des Registers P5DIR ist im Datenblatt beschrieben.

von Jacob (Gast)


Lesenswert?

Danke für eure Geduld, ich denke solche Fragen werden hier des öfteren 
gestellt(gerade mit der Zuweisung). Danke auch für die Tutorials und 
Buchtipps, die werde ich mir nun erstmal zu Gemüte ziehen :)

Eine letzte Sache noch:
Ich bin mir ziemlich sicher, dass ich das richtige Tutorial, zumindest 
laut Hersteller ausgewählt habe:
http://olimex.com/dev/msp-413stk2.html Das ist der Link, unter dem das 
Tutorium "msp430-413stk.asm test software for RS232 Tx/Rx, button scan, 
LED, buzzer, Dallas iButton check present " zu finden ist. Nachdem ich 
in meinem Workspace die beiden benötigten Libarys kopiert habe, lässt 
sich dieses Tutorial auch debuggen, allerdings seht ihr auf dem Bild im 
ersten Post, wie meine Ausgabe auf dem STK ist. Ich habe doch eigentlich 
alles richtig gemacht?

von Stefan (Gast)


Lesenswert?

Vielleicht liegt es daran, dass das verlinkte Tutorial für das 413STK 
ist, Du aber das 430STK2-Board hast?
Wie dem auch sei... die erste Anlaufstelle für Dich ist der User-Guide 
der entsprechenden F4xx-Familie bei TI!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.