Forum: Mikrocontroller und Digitale Elektronik Text Ausgabe in CCE2.0


von Buwei Zhang (Gast)


Lesenswert?

hallo zusammen,

ich programmiere zurzeit MSP430 mit CCE2.0 und habe ein Problem mit der 
Software.

Würde ich gerne fragen , ob es möglich ist ,ob z.B " Hallo world " von 
CCE 2.0 ausgegeben wird, also wie in normal C Sprach.

ich habe zum Test ein Skript geschrieben:

#include <stdio.h>

main()
{

  printf("Hello world\n");
}


Es gibt zwar einen Snytaxfehler, aber das Skript wird auch nicht 
durchgeführt.

wenn ich z.B ein Word oder eine int-Zahl ausgeben möchte, wie sollte ich 
in CCE 2.0 schreiben ?


mfG!
Buwei

von Peter D. (peda)


Lesenswert?

Buwei Zhang wrote:

> Es gibt zwar einen Snytaxfehler, aber das Skript wird auch nicht
> durchgeführt.

Das wäre auch sehr ungewöhnlich, da bei einer Fehlermeldung kein 
ausführbares Programm erzeugt wird.

Man könnte nun rumraten, was der Wortlaut dieser Fehlermeldung sein 
könnte, wenn man viel Langeweile hat.


Schau doch mal in das Example Verzeichnis Deiner Compilerinstallation, 
da ist bestimmt ein UART-Beispiel drin.


Peter

von Buwei Zhang (Gast)


Lesenswert?

hi,

habe ich einen Schreibfehler gemacht. Es gibt bei meinem Programm KEIN 
Syntaxfehler.

Gruß!
Buwei

von Christian R. (supachris)


Lesenswert?

Das geht so nicht. Ich nehme an, du willst in der Konsole des CCE was 
ausgeben, was der MSP430 berechnet hat? Meines Wissens hat die 
Debug-Logik im MSP430 dafür keine Funktionen eingebaut, dazu müsste die 
über einen dedizierten JTAG-Kanal Infos an den Host-PC schicken können.

Printf beim MSP430 (und bei fast allen anderen µC) ist eine leere 
Funktion, die durch den Nutzer gefüllt werden muss. Im einfachsten Fall 
durch Senden an die UART, so dass man mit Hyperterminal oder so am PC 
die printf Ausschriften lesen kann. Über JTAG geht das (zumindest am 
MSP430) nicht.

Printf ruft für jedes Zeichen eine putchar() Funktion auf, die du selbst 
noch festlegen musst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Über JTAG geht das (zumindest am MSP430) nicht.

Mit Rowley Crossworks geht so etwas doch, zwar ziemlich langsam, aber 
immerhin.

Allerdings wird nicht das normale printf durchgereicht, sondern 
spezielle Varianten davon, die in cross_studio_io.h deklariert sind, wie 
z.b. debug_printf.

Das Zeitverhalten von Anwendungen, die diese Funktionen nutzen, ist 
allerdings über den Jordan, irgendwelche Timerprobleme kann man damit 
nicht debuggen.

von Christian R. (supachris)


Lesenswert?

Ja, das hatte ich auch mal wo gelesen, allerdings geht das über 
irgendwelche "normalen" Register, die dann ausgelesen werden. Das geht 
dann allerdings wirklich übel langsam, weil ja immer erst die CPU 
angehalten werden muss, damit der JTAG Kontrolle über MDB und MAB 
bekommt. Naja, kurz und gut: Nimm die serielle Schnittstelle und lass es 
dir per HyperTerminal ausgeben.

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.