Terminal anwendung (Com Protokoll...?) in C einbinden

Gast #87722
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
Gast
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",&reg2);
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;
}
Gast
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
:(
Gast
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.
Gast
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
Angehängte Dateien:
Gast
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
Gast
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 )
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.