Дипломная работа: Апаратно–програмний комплекс GSM-МТМ

// молодший байт у регістр даних, старший –

// у регістр керування перериваннями

// ICR - адреса регістра керування перериваннями

outp(ICR, (div >> 8) & 0x00ff);

// DAT - адреса регістра даних

outp(DAT, div & 0x00ff);

// переводимо регістр даних і регістр

// керування перериваннями назад у звичайний

// для них режим

ctl = inp(LCR); // LCR - адреса регістра керування

//скидаємо старший біт регістра

outp(LCR, ctl & 0x7f);

Потім треба визначити формат даних. Для цього запишемо нове керуюче слово в регістр LCR:

// записуємо нове керуюче слово

outp(LCR, 00000011B);

// керуюче слово 00000011B встановлює довжину

// слова 8 біт, один стоповий біт, скасовує перевірку

// на парність і скасовує режим фіксації парності

Останнім кроком в ініціалізації регістрів UART є ініціалізація регістра керування перериваннями. Ми повинні спеціально вказати послідовному адаптеру, коли він повинен генерувати переривання.

Створення процедури обробки переривання для СОМ порта

Послідовний асинхронний адаптер можна запрограмувати таким чином, що кожний раз, коли він прийме чи передасть черговий байт, буде згенероване відповідне переривання. Переривання можуть генеруватися асинхронним адаптером у таких випадках:

змінився стан лінії приймача: відбулося переповнення приймача, відбулася помилка парності чи синхронізації, лінія перейшла в стан BREAK (розрив);

дані прийняті і доступні для читання через регістр даних;

регістр передавача порожній;

змінився стан модему: змінився стан ліній CTS, RI, DCD, DSR.

Існує можливість окремо забороняти чи дозволяти певний тип переривання. Для цього необхідно встановити відповідні біти в регістрі керування перериваннями.

Кожному COM-порту відповідає, крім базової адреси його регістрів, лінія IRQ [3]. Стандартний розподіл апаратних переривань такий:

COM-порт IRQ Номер переривання
COM1 IRQ4 INT 0Ch
COM2 IRQ3 INT 0Bh
COM3 IRQ4 INT 0Ch
COM4 IRQ3 INT 0Bh

Для встановлення власного оброблювача переривання від СОМ порту необхідно замінити процедуру обробки переривання, яка встановлена операційною системою або БІОСом на власну процедуру обробки переривання. Після цього дозволити переривання, яке було встановлено.

При реалізації процедури обробки переривання необхідно керуватися таким алгоритмом:

К-во Просмотров: 345
Бесплатно скачать Дипломная работа: Апаратно–програмний комплекс GSM-МТМ