Forum: Mikrocontroller und Digitale Elektronik MPLAB IDE: kleines 'Hello World'-Projekt mit Ausgabe in eine Konsole


von Christian (Gast)


Lesenswert?

Hi,
ich denk der Betreff sagt bereits alles!?

Weiß jemand ob das möglich ist, In einem kleinem Projekt in MPLAB (zu 
Testzwecken) kleinere Ausgaben in die Konsole, wie z.B. "Hello World" zu 
tätigen?
Wär wirklich klasse, wenn mir jemand helfen könnte!
Denn ansonsten müsste ich ja erstma ne serielle Kommunikation einrichten
:-( und das weis ich noch weniger wie das gehen soll.

Also

Vielen Dank im Voraus

MfG
Christian

von 123gast (Gast)


Lesenswert?

Ähhh... Konsole klingt nach PC mit Windows oder Linux, aber MPLAB ist 
doch für PIC-µPs oder?

Was hast du vor bzw. wo ist das Problem?

von Christian (Gast)


Lesenswert?

Also eigentlich soll ich mithilfe eines Testboards, welches vor mir 
liegt, eine bereits vorhandenes FAT32 Dateisystem auf meinen PIC18F87j11 
portieren.
Davon bin ich aber noch weit entfernt ;-)

Momentan gehts darum ein erstes kleines Projekt anzulegen, ein 3-Zeiler, 
ein "Hello World" Projekt, bei dem ich dann halt eben eine Ausgabe / 
Reaktion erzeugen kann.

Da dachte ich an die Konsole.

Sprich ist es möglich bei einem Ergebnis irgendeiner Art und sei es noch 
so einfach, eine kurze Rückmeldung in die Konsole schreiben zu lassen.

Oder muss ich hierfür eine serielle Kommunikation mit dem PIC über 
meinen FTDI-Chip und dem USB-Port meines PCs herstellen?

Hoff ich lieg jetzt nicht völlig daneben.

Hab es eben im Unterricht so kennengelernt. Da haben wir uns alles in 
die Konsole ausgeben lassen =)

Danke

Gruß
Christian

von 123gast (Gast)


Lesenswert?

Christian schrieb:
> Da dachte ich an die Konsole.
Welche "Konsole"? Als Windowsnutzer verstehe ich unter Konsole die 
DOS- ähhh Verzeihung Win32-Konsole welche man mit Win+R + "cmd" + Enter 
aufrufen kann.

> Oder muss ich hierfür eine serielle Kommunikation mit dem PIC über
> meinen FTDI-Chip und dem USB-Port meines PCs herstellen?
Das wird wohl nötig sein. Ein virtueller COM-Port und irgendein 
Terminalprogramm sind die einfachste Lösung zum debuggen.

von Christian (Gast)


Lesenswert?

Also wird das nicht so einfach funktionieren, wie in der Uni!

Also salop ausgedrückt: kein printf ?!


Sorry! Konsole / Terminal ist doch alles das selbe :-D

OK dann werd ich mich wohl etwas einlesen müssen, wenns so nich geht!?

Danke

von 123gast (Gast)


Lesenswert?

Christian schrieb:
> Also salop ausgedrückt: kein printf ?!
Kein printf, wohin sollte das auch "printen"?

Man kann sich natürlich ein printf basteln was die Daten per U(S?)ART 
rausschiebt oder eine fertige Bibliothek nehmen welche genau das tut.

Aber back erstmal kleinere Brötchen:

putchar()
putstring()

Die beiden sind auf jeden Fall nötig, danach gibt es zwei Möglichkeiten:

putinteger()
puthex()
putbin()
put....

oder man bastelt sich direkt ein printf, wobei das eigentlich nur ein 
Wrapper von vsfprintf (o.ä.) ist welcher - sofern vorhanden - eine Menge 
Platz brauchen dürfte. printf von Grund auf selber bauen dürfte einiges 
an Arbeit sein.

von Patrick (Gast)


Lesenswert?

Wie bereits gesagt geht es nicht so einfach, da Dein Mikrocontroller 
wahrscheinlich keine Konsole besitzt (Ausnahme: Wenn auf dem 
Mikrocontroller ein Linux oder so laeuft, wovon ich jetzt einmal nicht 
ausgehe).

PC-Programme koennen natuerlich auf die PC-Konsole schreiben; 
Mikrocontroller koennen das (ebenfalls natuerlich) nicht so ohne 
Weiteres, da sie ja ein separates System sind. Du kannst nun eine 
Kommunikation zwischen beiden aufbauen, z. B. mit RS232 (oder serielle 
Kommunikation ueber USB). Dann benoetigst Du eine Firmware, die den 
Mikrocontroller dazu bringt, etwas auszugeben, und Du benoetigst ein 
Windows-Programm, welches die Daten empfaengt und anzeigt.

Welche Hardware (z. B. LED, LCD-Display oder so) hast Du an Deinem 
Mikrocontroller? Nehme doch diese. Lass z. B. die LED blinken; das ist 
immer ein guter Start.

von 123gast (Gast)


Lesenswert?

Patrick schrieb:
> Lass z. B. die LED blinken; das ist immer ein guter Start.
Um einen µP bzw. ein Entwicklungsbord kennen zu lernen sicherlich, zum 
Debuggen sollte man sich aber unbedingt eine funktionierende 
RS232-Verbindung einrichten (Richtung µP-->PC reicht aus).

von ttl (Gast)


Lesenswert?

naja, bei der KEIL IDE geht das schon wenn man einen ARM/CORTEX-M3 und 
JTAG hat. Bei MPLAB geht es auch irgendwie, hab es aber seit Jahren 
nicht mehr benutzt. Aber natürlich nur im Simulator.

von Joachim (Gast)


Lesenswert?

Hello World ->Guckst du hier:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2123&param=en024284




in usart.h findest du folgendes:


char Read1USART (void);
void Write1USART ( char data);
void gets1USART ( char *buffer,  unsigned char len);
void puts1USART ( char *data);
void putrs1USART ( const MEM_MODEL rom char *data);

void puts1USART() sollte als "Hello World" via Hyperterm auch gehen.
Aber natürlich must du deine Hardware bezüglich Osc.takt baudrate etc 
anpassen. Irgendwo in einem Getting Startet habe ich mal ein Snippet 
gesehen. Yep... ich bin mir right now sogar ziemlich sicher, es ist in 
der Compileranleitung gesehen zu haben.

von Christian (Gast)


Lesenswert?

Danke Leute, für die vielen und schnellen Antworten.
Hatte dann gestern aber "leider" ;-) erstma Feierabend!

Gut. OK. Hatte dann wohl ne falsche Vorstellung von den ganzen 
Zusammenhängen. Dachte, dass ja irgendwie im prinzip bereits ne 
Verbindung von µC und PC über meinen Debugger (ICD 3) besteht.

Hardwaretechnisch hab ich sogar ziehmlich viele Komponenten am Board.
Fängt bei SDKart Slot und kapazitiven Tasten samt Drehrad an und endet 
natürlich auch mit einem LCD Display auf.
Wobei, jetzt wo ihr das so sagt, eigentlich auch schnell eine LED an 
einen der freien Ports gelötet wäre :-D

Dann werd ich mich wohl mal, so wie ich euch verstehe, zur seriellen 
Kommunikation einlesen müssen.

@ttl: Ich hatte da auch ganz dunkel etwas im Hinterkopf, dass es wohl 
auch mit MPLAB funktionieren müsste, aber wenns allerdings nur im 
Simulator funktioniert, hilft mir das denke ich momentan nicht weiter.

Trotzdem danke!

Man von U(S)ART hab ich doch keine Ahnung!

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.