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
Ä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?
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
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.
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
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.
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.
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).
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.
Hello World ->Guckst du hier: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2123¶m=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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.