Менеджер прерываний IO устройств и каналов DMA.
Подробнее...
|
| файл | hal_ioim.h |
| | Интерфейс менеджера прерываний IO устройств
|
| |
Менеджер прерываний IO устройств и каналов DMA.
Менеджер прерываний выполняет регистрацию векторов прерываний устройств IO (UART, I2C, I2S, SPI) и каналов DMA. При срабатывании прерывания вызывает обработчик из драйвера устройства с передачей указателей на базовый адрес и контекст. Обработчик драйвера должен перед этим быть зарегистрирован соответствующей функцией.
◆ IOIM_NA_IRQ_NUM
| #define IOIM_NA_IRQ_NUM (-16) |
Несуществующий номер прерывания
◆ ioim_status_t
Возвращаемые статусы IOIM.
| Элементы перечислений |
|---|
| IOIM_Status_Ok | Ошибок нет
|
| IOIM_Status_UnknownBase | Неизвестный базовый адрес устройства
|
| IOIM_Status_NullHandler | Адрес обработчика прерывания равен 0
|
◆ IOIM_ClearIRQHandler()
Сброс обработчика прерывания для устройства IO.
Обработчик прерывания устройства удаляется из таблицы, отключается вектор прерывания для данного устройства.
- Аргументы
-
| base | Базовый адрес устройства |
- Возвращаемые значения
-
◆ IOIM_ClearIRQHandler_DMA()
| ioim_status_t IOIM_ClearIRQHandler_DMA |
( |
void * | base, |
|
|
uint32_t | channel ) |
Сброс обработчика прерывания для DMA.
Обработчик прерывания DMA удаляется из таблицы, отключается вектор прерывания для данного DMA.
- Аргументы
-
| base | Базовый адрес DMA |
| channel | Номер канала DMA |
- Возвращаемые значения
-
◆ IOIM_GetIRQNumber()
| int32_t IOIM_GetIRQNumber |
( |
void * | base | ) |
|
Получение номера прерывания в системе
- Аргументы
-
| base | Базовый адрес устройства |
- Возвращает
- Номер прерывания устройства
◆ IOIM_SetIRQHandler()
| ioim_status_t IOIM_SetIRQHandler |
( |
void * | base, |
|
|
void * | handler, |
|
|
void * | handle ) |
Установка обработчика прерывания для устройства IO.
Функция вносит в свою таблицу прерываний обработчик handler и включает вектор прерывания в системе. При срабатывании прерывания в обработчик будут переданы аргументы base и handle.
- Аргументы
-
| base | Базовый адрес устройства |
| handler | Указатель на функцию обработчик прерывания |
| handle | Контекст драйвера устройства |
- Возвращаемые значения
-
◆ IOIM_SetIRQHandler_DMA()
| ioim_status_t IOIM_SetIRQHandler_DMA |
( |
void * | base, |
|
|
uint32_t | channel, |
|
|
void * | handler, |
|
|
void * | handle ) |
Установка обработчика прерывания для DMA.
- Аргументы
-
| base | Базовый адрес DMA |
| channel | Номер канала DMA |
| handler | Указатель на обработчик прерывания |
| handle | Контекст драйвера DMA |
- Возвращаемые значения
-