steven
09-03-2000, 17:08
hallo leute,
entschuldigt wenn ich euch stoer.
folgendes:
da in meiner gegend, c-programmierer sehr selten sind, hab ich folgende frage:
ich moechte fuer einen microcontroller "68hc05" via RS232
(laeuft unter ccbasic von conrad electronic)
unter "dos" einen befehls-interpreter bauen. also:
Host (in C) ---> MC liefert wert (byte) an Host.
Unter qbasic (dos) geht das so:
****
rem commando-terminal
print "start pc"
open "com1:9600,n,8,2,CS,DS" for random as #1
komando:
input a
rem a = 1
print #1, chr$(a);
for n = 1 to 1000: next n
if loc(1) > 0 then print" "; asc(input$(1,#1))
goto komando
ende:
close 1
***
dieses pgm funktioniert.
nun das problem:
wie kann ich unter dos und turbo c
solch eine abfrage programmieren?
mein vorschlag:
turbo c (borland):
*****
#include <bios.h>
#include <conio.h>
#include <stdio.h>
typedef unsigned char BYTE;
#define COM1 0
/* settings = 9600 Baud = 0xE0
no parity = 0x00
8 data-bits = 0x03
2 stop-bits = 0x04
*/
#define SETTINGS (0xE0¦0x03¦0x04¦0x00)
main()
{
BYTE inwert,outwert;
bioscom(0,SETTINGS,COM1);
clrscr();
gotoxy(34,2);
printf("communications");
gotoxy(5,6);
printf("Input:");
// scanf("%d",outwert); oder
outwert = 1;
bioscom(1,outwert,COM1); // send
bioscom(2,inwert,COM1); // receive
gotoxy(5,10);
printf("wert from mc: %d",inwert);
gotoxy(5,14);
printf("end");
delay(1000);
return 0;
}
***
ich weiss, dass das nichts mit LINUX zu
tun hat, aber ich moechte sobald das unter
DOS und C funktioniert, dies unter linux
probieren.
bitte helft mir.ich stecke fest.
mit freundlichen gruessen steven
email: morfst@bluewin.ch
entschuldigt wenn ich euch stoer.
folgendes:
da in meiner gegend, c-programmierer sehr selten sind, hab ich folgende frage:
ich moechte fuer einen microcontroller "68hc05" via RS232
(laeuft unter ccbasic von conrad electronic)
unter "dos" einen befehls-interpreter bauen. also:
Host (in C) ---> MC liefert wert (byte) an Host.
Unter qbasic (dos) geht das so:
****
rem commando-terminal
print "start pc"
open "com1:9600,n,8,2,CS,DS" for random as #1
komando:
input a
rem a = 1
print #1, chr$(a);
for n = 1 to 1000: next n
if loc(1) > 0 then print" "; asc(input$(1,#1))
goto komando
ende:
close 1
***
dieses pgm funktioniert.
nun das problem:
wie kann ich unter dos und turbo c
solch eine abfrage programmieren?
mein vorschlag:
turbo c (borland):
*****
#include <bios.h>
#include <conio.h>
#include <stdio.h>
typedef unsigned char BYTE;
#define COM1 0
/* settings = 9600 Baud = 0xE0
no parity = 0x00
8 data-bits = 0x03
2 stop-bits = 0x04
*/
#define SETTINGS (0xE0¦0x03¦0x04¦0x00)
main()
{
BYTE inwert,outwert;
bioscom(0,SETTINGS,COM1);
clrscr();
gotoxy(34,2);
printf("communications");
gotoxy(5,6);
printf("Input:");
// scanf("%d",outwert); oder
outwert = 1;
bioscom(1,outwert,COM1); // send
bioscom(2,inwert,COM1); // receive
gotoxy(5,10);
printf("wert from mc: %d",inwert);
gotoxy(5,14);
printf("end");
delay(1000);
return 0;
}
***
ich weiss, dass das nichts mit LINUX zu
tun hat, aber ich moechte sobald das unter
DOS und C funktioniert, dies unter linux
probieren.
bitte helft mir.ich stecke fest.
mit freundlichen gruessen steven
email: morfst@bluewin.ch