Тестирование внешних контроллеров

Лекция №6

Тестирование внешних контроллеров.

 

Клавиатура.

Центральный процессор через 60h порт управляет 8042. Перед посылкой команды в 8042 надо убедиться в готовности контроллера (первый бит=0 в порту…  

Действия по тестированию клавиатуры.

1. Создать массивы известных ASCII- и скан-кодов (тип – байт).

2. В режиме диалога с подсказками нажать требуемые клавиши и
выполнить сравнение считанного кода с элементом массива.

3. Проверка светодиодов на включение - выключение (Num-, Caps-,
Scroll-Lock).

4. Проверка выполнения команд 8042, 8048, встроенных тестов.

 

Шаги выполнения алгоритмов.

2. Наличие ошибки. После определения готовности выполняется проверка: Port[$64] and $Е0 ¹ 0 - ошибка. 3. Чтение буфера клавиатуры. В цикле определяется неравенство головы и хвоста… 4. Чтение скан-кода через 60h порт:

Использование Win API функций для работы с клавиатурой.

GetKeyboardState() –состояние клавиатуры.

KeyState[переменная, элемент массива]

SetKeyboardState() – установка нового состояния.

 

Видеосистема.

Структура программ диагностики видеосистемы

· максимальная разрешающая способность (3 цифры: количество пикселей в строке, в столбце, код пикселя); · частота горизонтальной развертки (35,5 КГц); · частота кадровой развертки (43,5 Гц).

Пример алгоритма.

1. Запомнить текущий режим.

2. Установить выбранный режим.

3. Вывести на экран тестовое сообщение с подсказками (расшифровка
режима).

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

5. Выполнить аналогичные действия в цвете и с цветами.

6. Восстановить исходный режим.

 

Использование Win API функций для работы с монитором.

GetDeviceCaps – универсальная функция для всех устройств вывода. Имеет только 2 параметра: · устройство; · вид информации.