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

UptoLike

265
Независимо от варианта реализации драйвера I
2
C он должен содержать
такие API-функции, как инициализация I
2
C, прием и передача блока данных и
т.д. Взаимодействие с I
2
C-устройствами (EEPROM, RTC) при помощи такого
драйвера может быть выполнено по опросу (проверка готовности ведомых
устройств к обмену).
Драйвер EEPROM должен включать следующие функции:
Функция Описание
unsigned char ReadEEPROM
(unsigned long addr, unsigned
long size, unsigned char *buf)
Чтение данных из EEPROM с возвратом
результата выполнения операции:
addrадрес ячейки памяти,
sizeразмер буфера для чтения, bufбуфер.
unsigned char WriteEEPROM
(unsigned long addr, unsigned
long size, unsigned char *buf)
Запись данных в EEPROM с возвратом
результата выполнения операции:
addrадрес ячейки памяти,
sizeразмер буфера записи, bufбуфер.
Драйвер часов реального времени должен включать следующие функции:
Функция Описание
void InitRTC(void)
Инициализация часов реального времени.
unsigned char ReadRTC
(TimeDate *td)
Чтение даты и времени из RTC с возвратом
результата выполнения операции:
tdбуфер для даты и/или времени в виде
структуры специального формата.
unsigned char WriteRTC
(TimeDate *td)
Запись даты и времени в RTC с возвратом
результата выполнения операции:
tdбуфер для даты и/или времени в виде
структуры специального формата.
Кроме того, в драйвер могут входить функции для работы с будильником и
для дополнительной настройки RTC.
Драйвер клавиатуры тоже использует прерывание таймера, в котором
производится опрос состояния кнопок (лабораторная работа 4
«Клавиатура»). В данном случае можно применить автоматное
программирование. В драйвер клавиатуры рекомендуется включить функцию
чтения нажатых кнопок из буфера, связывающего
ее с обработчиком
прерывания. Реакции на нажатия кнопок клавиатуры должны формироваться в