Дипломная работа: Комп’ютерне моделювання роботи послідовного порта

2.1.3 Способи керування портами у WINDOWS95 таWINDOWSXP

Програмне керування

У розділі приведені основні варіанти програмування послідовного порту.

Одержання базової адреси послідовного порту

Представлена програма, написана мовою QBASIC, виводить загальну кількість СОМ-портів, вбудованих у ПК, і їхні базові адреси. Рядок 20 зчитує байт з комірки пам'яті 0000:0411 h, використовуючи команду РЕЕК(). Біти 0,1 і 2 містять інформацію про кількість встановлених СОМ-портів. На ці три біти накладається маска за допомогою оператора AND(1+2+4) для визначення кількості портів. Рядок 30 зчитує два байти з комірок пам'яті, що містять базову адресу СОМ1. Рядки 40, 50 і 60 роблять те ж саме для інших портів.

10 DEFSEG=0

20 PRINT "Number of RS232 ports:", (PEEK(&H411) AND (1+2+4))

30 PRINT "Address of COM1:", PEEK(&H400)+256*РЕЕК(&H401)

40 PRINT "Address of CОM2:", PEEK(&H402)+256*PEEK(&H403)

50 PRINT "Address of COM3:", PEEK(&H404)+256*PEEK(&H405)

60 PRINT "Address of COM4:", PEEK(&H406)+256*PEEK(&H407)

70 INPUTX

Наступна функція, написана мовою TP6, зчитує інформацію про кількість встановлених портів і привласнює отримане значення змінній Number_of_ COM. Потім вона зчитує базові адреси з комірок пам'яті, де вони зберігаються, і привласнює адресу обраного порту змінній RS232_address.

(*-Бібліотека ресурсів № А6 (визначення базових адрес СОМ-портів).-*)

ProcedureCOM_address;

(* $0000:$0400 містить базову адресу порту СОМ1,

$0000:$0402 містить базову адресу порту COM2,

$0000:$0404 містить базову адресу порту COM3,

$0000:$0406 містить базову адресу порту COM4,

$0000:$0411 містить кількість СОМ-портів в двійковому форматі.*)

var

СOM:аггау[1..4] of integer;

COM_number.number_of_COM,code:integer;

Kbchar;char;

begin

clrscr;

COM_number:=1; (*Установка порту за замовчуванням.*)

Number_of_COM:=mem($0000:$0411); (*3читування кількості СОМ-портів.*)

Number_of_COM:=(Number_of_COM and (8+4+2)) shr 1;

К-во Просмотров: 441
Бесплатно скачать Дипломная работа: Комп’ютерне моделювання роботи послідовного порта