mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP 430 mit C Programmieren


Autor: Frodo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin Anfänger und möchte den MSP 430 in der Hochsprache C 
programmieren. Ich habe momentan Probleme, einen Einstieg zu finden, da 
ich schon Jahre keinen uC mehr programmiert habe. C an sich kenne ich, 
aber irgendwie steh ich total auf dem Schlauch, was das übertragen auf 
den uC angeht. Vor allem die Syntax von Ports, Registern, Speicher usw. 
ist mir in C völlig schleierhaft. Kann mir jemand Tips geben?

Danke,
Frodo

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, um das Lesen des Datenblatts kommst Du auch bei C nicht herum.
Es ist vielleicht sogar besser erst mit Assembler anzufangen, um die 
Architektur richtig kennen zu lernen.
D.h. wie die Ports, Timers, UARTS, ADC, Interrupts  usw. überhaupt 
funktionieren.

An welchen MSP340 hast Du denn gedacht ?
Hast Du schon irgendeine Entwicklungsumgebung ?
Warum muß es gerade der MSP430 sein ?

Wenn Du schon etwas länger in dieses Forum schaust, wirst Du sicherlich 
bemerkt haben, daß hier viel 8051 und AVR-Wissen vorhanden ist. Dann 
vielleicht noch etwas PIC aber sehr wenig MSP430.

D.h. bei Problemen wirst Du also je nach Typ viele oder nur wenige 
Antworten erwarten können.

Das nur so als Hinweis. Ich will Dich ja nicht zum 8051 drängen, obwohl 
man damit sehr kostengünstig einsteigen kann (Lochrasterplatine, nen 
Quarz und die CPU, z.B. T89C51RD2 und nen MAX232 als RS232-Pegelwandler 
zum Runterladen des Programs).


Peter

Autor: Lanius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frodo:
Must schon genauer fragen...

Als erstes versuch mal eine LED zum blinken zu bringen. Dann Schritt für 
Schritt die Hardware erforschen...

Peter: "Ich will Dich ja nicht zum 8051 drängen,"

wieso gerade 8051?

"obwohl man damit sehr kostengünstig einsteigen kann"

bei AVR und MSP430 brauchst du nicht mehr zum programmieren, eher 
weniger wenn man keinen UART braucht.

MSP430 ist im kommen, ich würde ruhig dabei bleiben.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lanius:

"wieso gerade 8051?"

Weil das der mit Abstand am häufigsten eingesetzte Mikrokontroller ist 
und es im Internet die meisten Foren und Informationen dazu gibt.

Ob PC-Tastatur, Festplatten, Fernseher, Waschmaschinen, überall sind 
vorwiegend 8051-er am werkeln.
Deshalb heißt der 8051 ja auch Industriestandard.

So bin ich auch an meine ersten 8051-er gekommen (alte SCSI-Festplatten 
hatten sogar 2 davon).

Der Hauptgrund, warum ich mit dem 8051-er angefangen habe, war der, daß 
sie über mindestens 5 Jahre die einzigsten waren, die 
Flash-programmierbar waren und trotzdem kostengünstig.

Atmel hatte früher nur Speicher hergestellt und dann mit dem AT89C51 den 
ersten Mikrokontroller mit Flash rausgebracht.

Dadurch, daß es so viele Hersteller des 8051 gibt, gibt es auch fast 
nichts, was nicht mit einem 8051 an Peripherie in einem Gehäuse sitzt, 
z.B. CAN, USB, MP3 usw. Dallas hat auch einen 8051 mit internem 
100MBit-Ethernet angekündigt (DS80C400).


Peter

Autor: Jens Stolinski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frodo,

ich teile ebenfalls die Meinung von Lanius. Ich arbeite seit längerer 
Zeit mit den MC der MSP430 Reihe wobei ich einen oder soll ich sagen den 
C-Compiler der Firma IAR benutze. Übrigens ohne hierfür Werbung zu mach 
einer der besten C-Compiler für die MC Programmierung (bis 2KByte, also 
auch zum Testen sehr gut geeignet, kostenlos).

Gerade in den Bereichen Stromverbrauch und der schon vorhandenen 
Hardware (12 Bit ADC, 16 Bit Timer, 4 MUX LCD-Treiber, UART, SPI usw.) 
schlägt diese MC-Reihe andere MC um weiten.

Die Argumentation das es noch wenige Quellen gibt, bei den man sich 
Informationen holen kann ist für mich haltlos. Beim Hersteller TI gibt 
es hierzu sehr ausführliche Datenblätter und Beipiel-Code in ASM und 
wichtig in C.

Bis dann Jens
www.SysnaSys.com

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

welchen Typ von MSP430 benutzt Du ?


"Die Argumentation das es noch wenige Quellen gibt, bei den man sich 
Informationen holen kann ist für mich haltlos."

Das hat ja auch keiner behauptet.
Ich meinte nur, daß beim 8051 die Chance größer ist, auch bei typischen 
Anfängerproblemen Antworten zu bekommen. D.h. wenn man das erste mal 
ratlos den Chip in den Händen hält. Und da dürfte es einem so ziemlich 
egal sein, ob es die vermeintliche EiWoMiSa sein soll.
Es gibt keinen besten Mikrokontroller, jeder hat seine Vorteile und 
Nachteile.


"Beim Hersteller TI gibt es hierzu sehr ausführliche Datenblätter und 
Beipiel-Code in ASM und wichtig in C."

Das erwarte ich eigentlich von jedem Hersteller. Allerdings haben viele 
Hersteller sehr schlechte Suchmöglichkeiten, um die interessierenden 
Artikel auch zu finden. Z.B. die Philips-Webseite ist nicht sehr 
übersichtlich.
Da ist es dann wieder schön, wenn es viele andere gibt, die man fragen 
kann, wo was zu finden ist.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

wo bekommt man die Dinger überhaupt her ?

Meine Suche bei Farnell, RS, Bürklin war ergebnislos.


Peter

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: frodo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Jungs,

ich bleibe beim MSP430, der scheint mir viel Potential zu haben. Die 
Entwicklungsumgebung von IAR ist gut, nur das runterladen auf das 
Zielsystem klappt noch nicht. Habe hierzu einen neuen Thread angefangen.

Gruß,
Frodo

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MSP mein sorgenkind...

Ich bin (glücklicher) AVR und ARM user, und muss nun jobbedingt mit dem 
MSP arbeiten. Eine qual!

Wenn ich den IAR mit dem CodeVision vergleiche, dann ist der IAR einfach 
nur schlecht.

BSL version 1.4, ein bootloader um den MSP zu programmieren, der fest im 
MSP vorhanden ist. Dieser bootloader ist sehr verbuggt. Sind die bugs 
umgangen, treten neue auf... ein Beipiel: man muss den flash 10x mit 
mass-erase löschen, damit dieser auch wirklich leer ist tz tz... ohne 
worte! (F149)
Ein fehlerblatt folgt dem nächsten. Errata hier, bei diesem MSP geht das 
nicht usw. usw. usw.

Das umschalten vom SPI-modus in den UART-modul dauert 300(!) takte (IAR 
durch handoptimierung auf ca. 200 reduziert). Die kleineren MSP's haben 
nur eine SPI die sich mit der UART die register teilt.
Schnelles sampeln, filtern und ausgeben, da ist man ASM-code 
optimierungen über wochen beschäftigt.
Es fehlt an on-chip eeprom...
Obwohl es ein 16-bitter ist ziemlich langsam. SPI und UART gleichzeitig 
bei geringen takt nutzen, eine qual. Das teil kommt so schnell an seine 
grenzen.

Manche mögen den öko-prozessor, und das ist das einzige was das teil 
kann... strom sparen. Ich hab ne menge grauer haare wegen dieser cpu 
bekommen.

Allerdings kommt das MSP-Design aus deutschland, also muss das ja gut 
sein.

Ich versuch diese CPU zu meiden wo imemr es geht, würde sie nur der 
konkurrenz empfehlen!

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harte Urteile werden hier gefällt. Ja, der MSP hat seine Vor und 
Nachteile, das gilt für jeden MC. Mein Einstieg in den MSP war auch 
gezwungenermaßen. Der AD-Wandler hält bei weitem nicht das was er 
verspricht.

Ebenso verwende ich diverse 8x51 Derivate. Ist eigentlich die beste MC 
Architektur die ich kenne. Dennoch ist der MSP im Preis zuweilen nicht 
zu toppen.

In diesem Sinne, viel Spaß bei der MC wahl. Leider kann ich mir das 
nicht immer aussuchen.

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich arbeite (auch jobbedingt) täglich mit dem MSP. Kann mich nicht 
daran erinnern das ich wegen der Hardware Probleme gehabt hätte.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht mir genauso. Im Institut programmiere ich auch den ganzen Tag 
MSP430. Klar ist man etwas beschränkt, was die Gerschwindigkeit angeht, 
aber dafür gibts andere µC. Eine richtige Vorauswahl des Prozessors muss 
natürlich sein...

Autor: szimmi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Josef,
jo, recht hast Du. Hab letztens Windows XP auf dem MSP laufen lassen 
wollen. Das Sch***-Teil kriegt das einfach nicht hin :-)

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:)

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hab letztens Windows XP auf dem MSP laufen lassen wollen.

Ganz schön schwach, schafft nicht mal XP ;-)) netter Kommentar.

Spaß beiseite, es gibt nichts was der MSP nicht könnte und der IAR 
Compiler ist sehr gut. Dennoch sind die Datenblätter von TI nicht 
besonders toll. Ebenso, wie schon erwähnt, ist der AD-Wandler (SD16) ein 
echter Marketinggag.

Also, bleibt auf dem Teppich, es ist wie üblich von der Anwendung 
abhängig welchen Controller man auswählt. In diesem Sinne hat der MSP 
durchaus seinen Marktanteil.

Welcher Controller ist der Beste ??? Diese blödsinnige Diskussion gab es 
hier schon etliche Male, hieran werde ich mich also nicht beteiligen.

Die Frage sollte lauten: Was willst du machen ??? Und zum lernen ist der 
MSP genauso gut wie jeder andere MC.

> Ich meinte nur, daß beim 8051 die Chance größer ist, auch bei typischen 
Anfängerproblemen Antworten zu bekommen.

Ist nicht von der Hand zuweisen. Allerdings gibt es auch genügend Hilfe 
in diesem Forum.

> wo bekommt man die Dinger überhaupt her ?

Farnel hat den MSP durchaus im Programm, selbst Reichelt führt 
mittlerweile eine ganze Reihe an MSP Typen, ebenso das eZ430 Starterkit.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe wrote:
>> Hab letztens Windows XP auf dem MSP laufen lassen wollen.
>
> Ganz schön schwach, schafft nicht mal XP ;-)) netter Kommentar.
>
> Spaß beiseite, es gibt nichts was der MSP nicht könnte und der IAR
> Compiler ist sehr gut. Dennoch sind die Datenblätter von TI nicht
> besonders toll. Ebenso, wie schon erwähnt, ist der AD-Wandler (SD16) ein
> echter Marketinggag.
>
> Also, bleibt auf dem Teppich, es ist wie üblich von der Anwendung
> abhängig welchen Controller man auswählt. In diesem Sinne hat der MSP
> durchaus seinen Marktanteil.

Kann ich bestätigen, vom Stromverbrauch TOP, dafür nicht allzu schnell. 
Aber das Basic-Clock-Module finde ich echt cool, da könnten sich andere 
Chip-Hersteller (Atmel z.B.) durchaus eine Scheibe abschneiden. Da 
gibt's auch keine lästigen Fuses mehr (Ausser der Security-Fuse, aber 
die ist nicht wirklich um Einstellungen vorzunehmen).

> Welcher Controller ist der Beste ??? Diese blödsinnige Diskussion gab es
> hier schon etliche Male, hieran werde ich mich also nicht beteiligen.
>
> Die Frage sollte lauten: Was willst du machen ??? Und zum lernen ist der
> MSP genauso gut wie jeder andere MC.

Also ich hab' ja mit AVRs angefangen und verwende nun nebenbei auch die 
MSPs. Da muss ich aber schon sagen: Wenn die zwei zur Entscheidung 
stünden, dann würde ich wieder den AVR nehmen. Erstens gibt's die im 
DIL-Gehäuse (Ok, die neueren MSPs mittlerweile auch), zweitens kommt's 
beim Lernen meistens weniger auf den Stromverbrauch an, drittens sind 
sie etwas schneller und viertens (fast am wichtigsten finde ich), es 
gibt vom HERSTELLER eine sehr gute IDE, in die man jetzt sogar den 
gcc-Compiler gleich einbinden kann.

>> Ich meinte nur, daß beim 8051 die Chance größer ist, auch bei typischen 
Anfängerproblemen Antworten zu bekommen.
>
> Ist nicht von der Hand zuweisen. Allerdings gibt es auch genügend Hilfe
> in diesem Forum.
>
>> wo bekommt man die Dinger überhaupt her ?
>
> Farnel hat den MSP durchaus im Programm, selbst Reichelt führt
> mittlerweile eine ganze Reihe an MSP Typen, ebenso das eZ430 Starterkit.

Nicht zu vergessen wären da noch die Samples von TI. Bei den MSPs gibt's 
extrem viele pinkompatible, da hab' ich kürzlich 24 Stück (8 Typen, je 3 
Stück) geordert - zwei Tage später hatte ich die Dinger in den Händen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.