Дипломная работа: Комп’ютерне моделювання роботи послідовного порта
СОМ[2]:=memw($0000:$0402);
СОМ[3]:=memw($0000:$0404);
СОМ[4]:=memw($0000:$0406);
Textbackground(blue); clrscr;
Textcolor(yellow); Textbackground(red); window(10,22,70,24); clrscr;
Writeln('Number of COM installed:', Number_of_COM:2);
writeln('Addresses for COM1 to COM4: ', COM[1];3', COM[2]:3', COM[3]:3', COM[4]:3);
write('Select COM to be used (1,2.3,4):');
delay(1000);
ifnumber_of_COM>1 then
begin(*Вибір конкретного порту, якщо встановлено кілька портів.*)
repeat
kbchar:=readkey; (*3читування значення з клавіші, що вводиться.*)
val(kbchar,COM_number,code); (*Перетворення символу в число.*)
until (COM_number>=1) and (COM_number<=4) and (COM[COM_number]<>0);
end; clrscr;
RS232_address:=COM[COM_number];
writeln('Your selected RS232 interface: COM', COM_number:1);
write('RS232 address:', RS232_address:4);
delay(1000);
textbackground(black);
window(1,1,80,25); clrscr;
end;
В наступному прикладі показана функція RS232(X), написана мовою TurboPascal для Windows. RS232(0) повертає кількість установлених СОМ-портів, RS232(1) - базову адресу СОМ1, RS232(2) - базову адресу COM2 і т.д.
(*-Бібліотека ресурсів № A6(визначення базових адрес СОМ-портів).-*)
(Universal auto detection of COM base address)
Function RS232(X:integer):integer; export;
(* $0000:$0400 містить базову адресу порту COM1,
$0000:$0402 містить базову адресу порту COM2,