Интерфейсы периферийных устройств. Ключев А.О - 258 стр.

UptoLike

257
(unsigned char symbol)
результата выполнения операции:
symbolвыводимый символ.
Кроме того, может быть реализована функция вывода строки на ЖКИ,
функция дополнительной настройки ЖКИ (отображение, мерцание курсора).
Драйвер клавиатуры использует прерывание таймера, в котором
производится опрос состояния кнопок (сканирование клавиатуры). В данном
случае можно применить автоматное программирование. В драйвер клавиатуры
рекомендуется включить функцию чтения нажатых кнопок из буфера,
связывающего ее
с обработчиком прерывания таймера. Реакции на нажатия
кнопок клавиатуры должны формироваться в главной программе. Вся обработка
нажатий кнопок не должна быть локализована
в обработчике прерываний
таймера.
Драйвер таймера должен включать следующие функции (помимо
обработчика прерывания):
Функция Описание
void InitTimer(void)
Инициализация таймера.
unsigned long
GetMsCounter(void)
Получение текущей метки времени в
миллисекундах.
unsigned long DTimeMs(unsigned
long t0)
Измерение количества миллисекунд,
прошедших с временной метки t0 и до
текущего времени.
void DelayMs(unsigned long t)
Задержка на t миллисекунд.
Кроме того, могут быть реализованы функции работы с таймером в режиме
«счетчик» (например, чтение счетчика).
Работа с последовательным каналом (приемопередатчиком UART) должна
быть организована асинхронно по прерыванию. Драйвер последовательного
канала включает следующие функции (помимо обработчика прерывания):
Функция Описание
void InitSerial(void)
Инициализация последовательного канала.
unsigned char
WriteSerial(unsigned char
data_buf)
Передача байта данных data_buf с возвратом
результата выполнения операции.
unsigned char
ReadSerial(unsigned char*
data_buf)
Прием байта данных *data_buf с возвратом
результата выполнения операции.
unsigned char
StatusSerial(void)
Чтение признака наличия байта в буфере
приема.