Witam
Mam następujący problem. Napisałem program który wysyła z jednego komputera ciąg znaków. Działać ma pod DOSem i tylko DOSem ... napisany jest w turbo Pascalu. Program czyta z portu COM1 nadchodzące dane... czyżby?? Czyta jakieś bzdury!! Zamiast czytać takie dane jakie przychodzą na port to program wypisuje mi same znaki r z daszkiem... A żeby było śmieszniej z portu com2 czyta prostokąty... a kiedy odwrócone działanie, tzn wysyłam teraz z drugiego kompa a na pierwszym łapię to... dostaje zawsze prostokąty.
Używam jednego w miarę dobrego kompa.. tzn procek 2,6GHz athlonik... 512MBram i nie wiem czy coś ważnego jeszcze Drugi komp to 486:)
Błagam o jakieś porady bo to strasznie pilne!
Mam następujący problem. Napisałem program który wysyła z jednego komputera ciąg znaków. Działać ma pod DOSem i tylko DOSem ... napisany jest w turbo Pascalu. Program czyta z portu COM1 nadchodzące dane... czyżby?? Czyta jakieś bzdury!! Zamiast czytać takie dane jakie przychodzą na port to program wypisuje mi same znaki r z daszkiem... A żeby było śmieszniej z portu com2 czyta prostokąty... a kiedy odwrócone działanie, tzn wysyłam teraz z drugiego kompa a na pierwszym łapię to... dostaje zawsze prostokąty.
Używam jednego w miarę dobrego kompa.. tzn procek 2,6GHz athlonik... 512MBram i nie wiem czy coś ważnego jeszcze Drugi komp to 486:)
Błagam o jakieś porady bo to strasznie pilne!
Program dos_rs_2;
uses
Crt, Dos;
var
regs : Registers;
mode: Char; {tryb nadawanie-odbi˘r}
out : Char; {wysyane znaki}
Begin
ClrScr;
regs.AH := 0; {01h}
regs.DX := 0; {COM1}
regs.AL := 234; {9600 b/s, ODDPARITY, 7 bit˘w danych, 1 bit stopu}
Intr($14, regs);
WriteLN(' 1 - Nadawanie 2 - Odbi˘r [Esc] - koniec nadawania i odbioru');
mode := ReadKey;
if(mode = '1') then
begin
Repeat {nadawanie}
out := ReadKey;
regs.AL := ord(out);
regs.AH := 1;
regs.DX := 1;
Intr($14, regs);
Write(char(regs.AL));
Until(out = #27);
end;
if(mode = '2') then
begin
Repeat {odbi˘r}
regs.AH := 2;
regs.DX := 1;
Intr($14, regs);
Write(char(regs.AL));
Until(regs.AL = 27);
end;
if(mode = #27) then exit;
Repeat Until KeyPressed;
End.