Guten Tag freunde der gepflegten Programmiersprache... ich habe meine anwendung soweit fertiggestellt (messen, regeln etc.) es werden die verschiedenen ergebnisse über das UART ausgegeben, geht alles einwandfrei... jedoch muss ich immer hyperterminal starten oder sowas, sehr blöd... da habe ich mir nen paar gedanken gemacht und bin zu dem entschluss gekommen: eine dos anwendung muss her, warum dos? ganz einfach, ich kann nur C, und das programm muss auf einem alten 3/86er laufen... Mein problem liegt dadrin: wie binde ich das protokoll (falls ich überhaupt eins brauche) in meine anwendung ein? stehe da voll auf dem trockenen und per google finde ich auch nichts was mir so richtig weiterhilft... ich würde mich über hilfe in form von beispielen, links oder suchbegriffen freuen :) Mfg Marcel
DOS wird schwierig sein. Kannst aber Linux draufspielen, da gehts einfach. Als Beispielcode kannst meinen Batchelor nehmen, da ist serielle Kommunikation drin: http://www.gpsdrive.cc/batchelor.shtml
So Schwierig ist Dos nun auch nicht...... Bei dem Beispiel must du nur noch die HEX-Adresse für deinen Com-Port ändern und dann sollte es klappen. //Beispiel für _inp und _outp #include <stdio.h> #include <conio.h> #include <stdlib.h> #define port 0x378 int main (void) { unsigned char reg1, reg2; do { reg1 = _inpw(port); printf(" der alte wert der PORT-Adresse 0x378 lautet: %hxHEX\n",reg1); printf(" bitte geben sie einen neuen wert ein\n"); printf(" 0 fuer abbruch der eingabe\n\n"); fflush(stdin); scanf("%hx",®2); if (reg2 == 0) break; _outpw (port, reg2); reg1 = _inpw(port); printf ("der neue wert der PORT-Adresse 0x378 lautet: %hxHEX\n\n",reg1); }while(1); system("Pause"); return 0; }
irgendwie stehe ich bei deinem code voll auf dem schlauch, bekomme bei deinem code erstens 15 fehler, und 2. steige ich da nicht so ganz durch :(
1. Der Code funzt 2. Wenn du diese 32 Zeilen nicht durchsteigst, dann ....? 3. Wenn du schon 15 Fehlermeldungen bekommst, dann so doch das nächste mal so nett und poste doch mal ein paar.
1. kann sein, die frage ist, womit kompilierst du? (ich benutze borland...) 2. durch code durchzusteigen, der nicht ein einzigen kommentar enthält ist nu mal nicht so wircklich einfach... 3. siehe anhang! Mfg Marcel
Der scheint das \n als Escape für den <CR> nicht zu mögen und kommt dann mit den Anführungszeichen (") total durcheinander. Das while zum do findet er jedenfalls auch nicht ... Grüße, Sebastian
Ich benutze auch nur Borland C in der DOS-Box. Sieh Dir einfach mal meinen Bootloader in der Codesammlung an, da ist alles drin: Initialisierung, Senden, Empfang. Ist zwar ein reines DOS-Programm, funktioniert bei mir aber auch unter W98 und XP. Peter
1. Du hast das alles in eine CPP-Datei geschrieben => unter Cpp muss man manches anders machen als unter C 2. _inpw wird manchmal auch nur inpw geschrieben 3. Zeile 14 hat eine zusätzlichen Zeilenumbruch (welchen durch das einfügen in das Forum entstand). Dieser ist zu beseitiegen. 4. _outpw wird wie auch _inpw manchmal outw geschrieben 5. Zeile 25,26 siehe 3. 6. Benutze Dev-Cpp ( http://www.bloodshed.net )
Danke Peter und Tom! Werde mir mal peters code in ruhe anschauen,,, Und der code von tom funktioniert nach den änderungen, sorry hätte ich auch selbst drauf kommen können :( Mfg Marcel
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.