Составители:
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
«Клавиатура»). В данном случае можно применить автоматное
программирование. В драйвер клавиатуры рекомендуется включить функцию
чтения нажатых кнопок из буфера, связывающего
ее с обработчиком
прерывания. Реакции на нажатия кнопок клавиатуры должны формироваться в
Страницы
- « первая
- ‹ предыдущая
- …
- 264
- 265
- 266
- 267
- 268
- …
- следующая ›
- последняя »
