МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Ініціалізація СOM-портуСпособи керування портами у WINDOWS95 та WINDOWS XP Перед тим як використовувати СOM-порт, його необхідно настроїти на визначений формат передачі даних, тобто встановити швидкість, кількість бітів даних, кількість стопових бітів та біт перевірки. Існує три методи настроювання. Перший полягає у використанні команди MODE операційної системи MS DOS. Синтаксис команди можна представити так: MODE COMm: baud=b, parity=p, data=d, stop=s, retry=r або MODE COMm:b,p,d,s,r MODE COM1:96,n,8,1 конфігурує порт СОМ1 з наступними параметрами: швидкість 9600 бод, без перевірки на парність, 8 біт даних, 1 стоповий біт. Зазначена команда може бути включена у файл autoexec.bat. Недолік такого методу - неможливість змінювати формат передачі даних у користувацьких програмах. Другий метод використовує переривання BIOS INT 14h, що дозволяє виконувати конфігурування порту з програм користувача. Для цього необхідно в регістр АН завантажити 0, а в DX - число від 0 до 3, що вказує на відповідний порт (СОМ1 - COM4). У регістр AL завантажується байт ініціалізійних даних, значення бітів якого показані нижче:
BD2 BD1 BDO PAR1 PAR0 STOP DA1 DA0 BD2 - BDO (швидкість) 111 = 9600 011 = 600 110 = 4800 010 = 300 101 = 2400 001 =150 100 = 1200 000=110 PAR1,0 (перевірка на парність) 00 чи 10 = немає перевірки 01 = непарна 11 = парна STOP (кількість стопових бітів) 0 = 1 1 = 2 DA1,0 (довжина блоку даних) 10 = 7 біт 11 = 8 біт Наступна програма на мові ТР6 робить те ж, що і команда DOS MODE СОМ1:96,n,8,1. Procedure initialize; {СОМ1: 9600, без перевірки на парність, 0 біт даних, 1 стоповий біт.} var register: registers; begin with register do begin ah:=0; {Завантаження номера функції переривання.} al:=128+64+32+0+0+0+2+1; {Завантаження ініціалізаційного коду 11100011B.} dx:=0; {Номер порту: DX=0:COM1, DX=1:COM2 і т.д.} intr($14,register); {Виклик переривання BIOS.} end; end; Обмеження описаного методу полягає в тому, що можна задати швидкість тільки 9600 бод. UART 16450 здатний працювати зі швидкістю 115200 бод, це досягається безпосереднім звертанням до регістра. Третій, найбільш гнучкий метод конфігурує порт за допомогою запису даних у регістр формату даних UART (зсув 03h). Наступна програма на ТР6 дозволяє налаштувати сам регістр, для цього потрібна базова адреса порту, що конфігурується, швидкість, режим перевірки, довжина блоку даних і кількість стопових бітів. Процедура переводить задану швидкість у шістнадцятибітовий дільник і завантажує його у відповідні регістри.
(*-Бібліотека ресурсів № А9 (запис у регістр формату даних).-*) Procedure Write_data_format (RS232_address, Baud, Parity, Data_bit, Stop_bit:integer); var byte1,byte2,output_byte:byte; divisor:integer; begin divisor:=115200 div Baud; if divisor<=255 then begin byte1:=divisor; byte2:=0; end; if divisor>255 then begin byte1:=divisor mod 256; byte2:=divisor div 256; end; output_byte:=(data_bit-5)+4*(stop_bit-1)+8*(parity); port(RS232_address+3):=128: {Завантаження ініціалізаційних даних, перший біт регістра дорівнює 1.} port(RS232_address+0):=byte1; {Молодший байт дільника дорівнює 1.} port(RS232_address+1);=byte2; {Старший байт дільника дорівнює 0.} port(RS232_address+3):=output_byte; {Завантаження дільника й інших параметрів.} end; Читайте також:
|
||||||||
|