OT! C&DOS&COM port
Pavel Houdek
p.houdek na seznam.cz
Čtvrtek Duben 26 16:45:11 CEST 2001
Dobry den...
Omlouvam se za OT, ale bohuzel jsem ani v archivech(nejen na
linux.cz) nenalezl pouzitelny odkaz na cz konferenci (resp. archiv)
zabyvajici se...
Mam tady nekolik pristroju pripojitelnych ke COM portu...
Problem je ten ze PC do ktereho mam data dostavat je 386 s
DOSem...
Pro obsluhu onoho COM portu jsem zkousel neco napsat ve
fortranu, pascalu i v C... Jedine co spolehlive precte data je
programek v BASICu ostatni bud "nenajde" port nebo vypisuje 0
popr, nejake jine znaky "44" "D" apod...
Chtel bych timto oslovit nektere C-guru zda-li by mi nekdo nemohl
poradit jak na to... popripade opravit moje "reseni"..
Pripadne mi vynadejte na mail at s tim neotravujeme konferu
Dekuji:-)
Pavel Houdek
p.houdek na seznam.cz
Onen BASICovsky fungujici programek:
OPEN "COM2:9600,N,7,2,RS,CS,DS,CD" FOR RANDOM AS #2
FOR I = 1 TO 10
PRINT #2, "D"
IN$ = INPUT$(4 * 14, #2)
PRINT IN$
NEXT
CLOSE #2
END
Moje "reseni" v C (dle helpu), co mi tady chybi 1)je inicializace
portu a 2)specifikace datoveho formatu vystupu(14bytu) tohle je
pokus vubec neco z portu precist.....:
#include <stdio.h>
#include <dos.h>
int main(void)
{
unsigned char result;
int port = 1; /* serial port 2 (puvodne byla 0 pro serial 1)*/
int value = 68; /* 'D' */
do {
outportb(port, value);
result = inportb(port);
printf("Byte read from port %d = %c\n", port, result);
} while(!kbhit()) ;
return 0 ;
}
Další informace o konferenci Linux