Дипломная работа: Комп’ютерне моделювання роботи послідовного порта
$0000:$0406 містить базову адресу порту COM4,
$0000:$0411 містить кількість СОМ-портів в двійковому форматі.*)
var
number_of_COM, СОМ1, COM2, COM3, COM4: integer;
begin
number_of_COM:=mem($40:$11); (*3читує кількість СОМ-портів *)
number_of_COM:=(number_of_COM and (8+4+2)) shr 1;
COM1:=0; COM2:=0; COM3: =0; COM4:=0;
COM1:=memw($40:$00); (*Процедура зчитування з пам'яті.*)
COM2.=memw($40:$02);
COM3:=memw($40:$04);
COM4:=memw($40:$06);
Case X of
0: RS232:=number of COM;
1: RS232:=COM1;
2: RS232:=COM2;
3: RS232:=COM3;
4: RS232:=COM4;
end;
end.
Ініціалізація СOM-порту
Перед тим як використовувати СOM-порт, його необхідно настроїти на визначений формат передачі даних, тобто встановити швидкість, кількість бітів даних, кількість стопових бітів та біт перевірки. Існує три методи настроювання. Перший полягає у використанні команди MODEопераційної системи MSDOS. Синтаксис команди можна представити так:
MODE COMm: baud=b, parity=p, data=d, stop=s, retry=r
або MODE COMm:b,p,d,s,r
MODECOM1:96,n,8,1 конфігурує порт СОМ1 з наступними параметрами: швидкість 9600 бод, без перевірки на парність, 8 біт даних, 1 стоповий біт. Зазначена команда може бути включена у файл autoexec.bat. Недолік такого методу - неможливість змінювати формат передачі даних у користувацьких програмах.
Другий метод використовує переривання BIOSINT 14h, що дозволяє виконувати конфігурування порту з програм користувача. Для цього необхідно в регістр АН завантажити 0, а в DX- число від 0 до 3, що вказує на відповідний порт (СОМ1 - COM4). У регістр AL завантажується байт ініціалізійних даних, значення бітів якого показані нижче:
BD2 BD1 BDO PAR1 PAR0STOP DA1DA0
BD2 - BDO(швидкість) 111 = 9600
011 = 600