|
ELIOT1 HAL
|
#include "hal_common.h"Макросы | |
| #define | GPIO_PORTA 0U |
| #define | GPIO_PORTB 1U |
| #define | GPIO_PORTC 2U |
| #define | GPIO_PORTD 3U |
| #define | GPIO_PORTPIN(port, pin) ((((port) & 0xF) << 4) | ((pin) & 0xF)) |
| #define | GPIO_PORTPIN_GET_PIN_NUM(portpin) ((portpin) & 0xF) |
| #define | GPIO_PORTPIN_GET_MASK(portpin) (1 << GPIO_PORTPIN_GET_PIN_NUM(portpin)) |
| #define | GPIO_PORTPIN_GET_PORT_NUM(portpin) (((portpin) >> 4) & 0xF) |
Secure прерывания порта GPIO | |
| #define | GPIO_SEC_INT_SEC_ACC_MASK 0x1 |
| #define | GPIO_SEC_INT_PORT_NONSEC_MASK 0x2 |
Перечисления | |
Режимы работы выводов GPIO | |
| enum | gpio_mode_t |
| Список режимов работы вывода GPIO. Подробнее... | |
| enum | gpio_pin_function_t |
| Список альтернативных функций IOCTR выводов устройств Подробнее... | |
Характеристики внешних выводов GPIO | |
| enum | gpio_pin_direction_t |
| Направление вывода GPIO (вход или выход) Подробнее... | |
| enum | gpio_pin_pupd_t |
| Настройки внутренних резистивных подтяжек на выводах для режимов Push-Pull и Open-Drain. Подробнее... | |
| enum | gpio_pin_max_current_t |
| Настройки максимального выходного тока вывода Подробнее... | |
| enum | gpio_int_type_t |
| Список типов прерываний входных выводов GPIO. Подробнее... | |
Функции | |
HAL функции для работы с конкретным выводом GPIO по Secure адресам | |
| gpio_mode_t | GPIO_PinMode_Get (uint32_t pin) |
| Чтение режима работы вывода GPIO. | |
| void | GPIO_PinMode_HiZ (uint32_t pin) |
| Установка вывода в состояние Hi-Z. | |
| void | GPIO_PinMode_Function (uint32_t pin, gpio_pin_function_t func) |
| Установка вывода в режим альтернативной функции IOCTR. | |
| void | GPIO_PinMode_GPIO (uint32_t pin, gpio_pin_direction_t direction) |
| Установка вывода в режим GPIO. | |
| void | GPIO_PinSet_PUPD (uint32_t pin, gpio_pin_pupd_t pupd) |
| Настройка резистивной подтяжки вывода GPIO. | |
| void | GPIO_PinSet_MaxCurrent (uint32_t pin, gpio_pin_max_current_t current) |
| Настройка максимального выходного тока вывода GPIO. | |
| void | GPIO_PinSet_Schmitt (uint32_t pin, uint32_t value) |
| Включение триггера Шмидта на входном выводе GPIO. | |
| void | GPIO_PinSet_SpeedRaise (uint32_t pin, uint32_t value) |
| Настройка скорости нарастания сигнала на выводе GPIO. | |
| void | GPIO_PinWrite (uint32_t pin, uint32_t bit) |
| Установка логического уровня вывода GPIO. | |
| void | GPIO_PinToggle (uint32_t pin) |
| Инвертирование логического уровня вывода GPIO. | |
| uint32_t | GPIO_PinRead (uint32_t pin) |
| Чтение логического уровня вывода GPIO. | |
| void | GPIO_PinIRQ_Enable (uint32_t pin, gpio_int_type_t int_type) |
| Включение прерывания на входном выводе GPIO. | |
| void | GPIO_PinIRQ_Disable (uint32_t pin) |
| Отключение прерывания на входном выводе GPIO. | |
| uint32_t | GPIO_PinIRQ_GetStatus (uint32_t pin) |
| Чтение статуса прерывания на входном выводе GPIO. | |
| void | GPIO_PinIRQ_Clear (uint32_t pin) |
| Сброс прерывания на входном выводе GPIO. | |
HAL функции для работы с конкретным портом GPIO по маске выводов | |
| int32_t | GPIO_GetInstance (GPIO_Type *port) |
| Определение номера порта GPIO. | |
| void | GPIO_PortMode_HiZ (GPIO_Type *port, uint32_t bit_mask) |
| Установка выводов порта в состояние Hi-Z. | |
| void | GPIO_PortMode_Function (GPIO_Type *port, uint32_t bit_mask, gpio_pin_function_t func) |
| Установка выводов порта в режим альтернативной функции IOCTR. | |
| void | GPIO_PortMode_GPIO (GPIO_Type *port, uint32_t bit_mask, gpio_pin_direction_t direction) |
| Установка выводов порта в режим GPIO. | |
| void | GPIO_PortSet_PUPD (GPIO_Type *port, uint32_t bit_mask, gpio_pin_pupd_t pupd) |
| Настройка резистивной подтяжки выводов порта GPIO. | |
| void | GPIO_PortSet_MaxCurrent (GPIO_Type *port, uint32_t bit_mask, gpio_pin_max_current_t current) |
| Настройка максимального выходного тока выводов порта GPIO. | |
| void | GPIO_PortSet_Schmitt (GPIO_Type *port, uint32_t bit_mask, uint32_t bit_value) |
| Включение триггера Шмидта на входных выводах порта GPIO. | |
| void | GPIO_PortSet_SpeedRaise (GPIO_Type *port, uint32_t bit_mask, uint32_t bit_value) |
| Настройка скорости нарастания сигнала на выводах порта GPIO. | |
| void | GPIO_PortWrite (GPIO_Type *port, uint32_t bit_mask, uint32_t bit_value) |
| Установка логического уровня выводов порта GPIO. | |
| void | GPIO_PortToggle (GPIO_Type *port, uint32_t bit_mask) |
| Инвертирование логического уровня выводов порта GPIO. | |
| uint32_t | GPIO_PortRead (GPIO_Type *port, uint32_t bit_mask) |
| Чтение логического уровня выводов порта GPIO. | |
| void | GPIO_PortIRQ_Enable (GPIO_Type *port, uint32_t bit_mask, uint32_t int_type) |
| Включение прерываний на входных выводах порта GPIO. | |
| void | GPIO_PortIRQ_Disable (GPIO_Type *port, uint32_t bit_mask) |
| Отключение прерываний на входных выводах порта GPIO. | |
| uint32_t | GPIO_PortIRQ_GetStatus (GPIO_Type *port, uint32_t bit_mask) |
| Чтение статусов прерываний на входных выводах порта GPIO. | |
| void | GPIO_PortIRQ_Clear (GPIO_Type *port, uint32_t bit_mask) |
| Сброс прерываний на входных выводах порта GPIO. | |
| uint32_t | GPIO_PortSecureIRQ_GetStatus (GPIO_Type *port) |
| Чтение статуса прерывания по нарушению безопасности порта GPIO. | |
| void | GPIO_PortSecureIRQ_Clear (GPIO_Type *port) |
| Сброс прерывания по нарушению безопасности порта GPIO. | |
| void | GPIO_PortSecureIRQ_SetMask (GPIO_Type *port, uint32_t mask) |
| Установка разрешений прерываний по нарушению безопасности порта GPIO. | |
| uint32_t | GPIO_PortSecureIRQ_GetInfo1 (GPIO_Type *port) |
| Чтение информации Info1 о прерывании по нарушению безопасности порта GPIO. | |
| uint32_t | GPIO_PortSecureIRQ_GetInfo2 (GPIO_Type *port) |
| Чтение информации Info2 о прерывании по нарушению безопасности порта GPIO. | |
| void | GPIO_PortSet_NonsecureMask (GPIO_Type *port, uint32_t mask) |
| Установка разрешения для Non-secure обращений к порту GPIO. | |
| #define GPIO_SEC_INT_PORT_NONSEC_MASK 0x2 |
Маска прерывания PORT_NONSEC
| #define GPIO_SEC_INT_SEC_ACC_MASK 0x1 |
Маска прерывания SEC_ACC
| enum gpio_int_type_t |
Список типов прерываний входных выводов GPIO.
| enum gpio_pin_direction_t |
Настройки максимального выходного тока вывода
| enum gpio_pin_pupd_t |
Настройки внутренних резистивных подтяжек на выводах для режимов Push-Pull и Open-Drain.
| int32_t GPIO_GetInstance | ( | GPIO_Type * | port | ) |
Определение номера порта GPIO.
| port | Базовый адрес порта GPIO |
| -1 | Порт GPIO не определен |
| 0 | Порт GPIOA |
| 1 | Порт GPIOB |
| 2 | Порт GPIOC |
| 3 | Порт GPIOD |
| void GPIO_PinIRQ_Clear | ( | uint32_t | pin | ) |
Сброс прерывания на входном выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| void GPIO_PinIRQ_Disable | ( | uint32_t | pin | ) |
Отключение прерывания на входном выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| void GPIO_PinIRQ_Enable | ( | uint32_t | pin, |
| gpio_int_type_t | int_type ) |
Включение прерывания на входном выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| int_type | Тип прерывания |
| uint32_t GPIO_PinIRQ_GetStatus | ( | uint32_t | pin | ) |
Чтение статуса прерывания на входном выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| 0 | - прерывание отсутствует |
| 1 | - прерывание присутствует |
| void GPIO_PinMode_Function | ( | uint32_t | pin, |
| gpio_pin_function_t | func ) |
Установка вывода в режим альтернативной функции IOCTR.
| pin | Номер вывода из карты выводов GPIO |
| func | Номер альтернативной функции вывода |
| gpio_mode_t GPIO_PinMode_Get | ( | uint32_t | pin | ) |
Чтение режима работы вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| GPIO_MODE_HI_Z | |
| GPIO_MODE_GPIO | |
| GPIO_MODE_AF | |
| GPIO_MODE_INVALID |
| void GPIO_PinMode_GPIO | ( | uint32_t | pin, |
| gpio_pin_direction_t | direction ) |
Установка вывода в режим GPIO.
| pin | Номер вывода из карты выводов GPIO |
| direction | Направление вывода |
| void GPIO_PinMode_HiZ | ( | uint32_t | pin | ) |
Установка вывода в состояние Hi-Z.
| pin | Номер вывода из карты выводов GPIO |
| uint32_t GPIO_PinRead | ( | uint32_t | pin | ) |
Чтение логического уровня вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| 0 | - низкий логический уровень |
| 1 | - высокий логический уровень |
| void GPIO_PinSet_MaxCurrent | ( | uint32_t | pin, |
| gpio_pin_max_current_t | current ) |
Настройка максимального выходного тока вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| current | Номер максимального тока из списка доступных значений |
| void GPIO_PinSet_PUPD | ( | uint32_t | pin, |
| gpio_pin_pupd_t | pupd ) |
Настройка резистивной подтяжки вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| pupd | Тип внешней подтяжки вывода |
| void GPIO_PinSet_Schmitt | ( | uint32_t | pin, |
| uint32_t | value ) |
Включение триггера Шмидта на входном выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| value | Значения: 0 - отключен, 1 - включен |
| void GPIO_PinSet_SpeedRaise | ( | uint32_t | pin, |
| uint32_t | value ) |
Настройка скорости нарастания сигнала на выводе GPIO.
| pin | Номер вывода из карты выводов GPIO |
| value | Значения: 0 - fast, 1 - slow |
| void GPIO_PinToggle | ( | uint32_t | pin | ) |
Инвертирование логического уровня вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| void GPIO_PinWrite | ( | uint32_t | pin, |
| uint32_t | bit ) |
Установка логического уровня вывода GPIO.
| pin | Номер вывода из карты выводов GPIO |
| bit | Значения: 0 - низкий логический уровень, 1 - высокий логический уровень |
| void GPIO_PortIRQ_Clear | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Сброс прерываний на входных выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| void GPIO_PortIRQ_Disable | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Отключение прерываний на входных выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| void GPIO_PortIRQ_Enable | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| uint32_t | int_type ) |
Включение прерываний на входных выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| int_type | Тип прерывания из списка |
| uint32_t GPIO_PortIRQ_GetStatus | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Чтение статусов прерываний на входных выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| void GPIO_PortMode_Function | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| gpio_pin_function_t | func ) |
Установка выводов порта в режим альтернативной функции IOCTR.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| func | Номер альтернативной функции вывода |
| void GPIO_PortMode_GPIO | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| gpio_pin_direction_t | direction ) |
Установка выводов порта в режим GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| direction | Направление вывода |
| void GPIO_PortMode_HiZ | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Установка выводов порта в состояние Hi-Z.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| uint32_t GPIO_PortRead | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Чтение логического уровня выводов порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| void GPIO_PortSecureIRQ_Clear | ( | GPIO_Type * | port | ) |
Сброс прерывания по нарушению безопасности порта GPIO.
| port | Базовый адрес порта GPIO |
| uint32_t GPIO_PortSecureIRQ_GetInfo1 | ( | GPIO_Type * | port | ) |
Чтение информации Info1 о прерывании по нарушению безопасности порта GPIO.
| port | Базовый адрес порта GPIO |
| uint32_t GPIO_PortSecureIRQ_GetInfo2 | ( | GPIO_Type * | port | ) |
Чтение информации Info2 о прерывании по нарушению безопасности порта GPIO.
| port | Базовый адрес порта GPIO |
| uint32_t GPIO_PortSecureIRQ_GetStatus | ( | GPIO_Type * | port | ) |
Чтение статуса прерывания по нарушению безопасности порта GPIO.
| port | Базовый адрес порта GPIO |
| 0 | - прерывание отсутствует |
| 1 | - прерывание присутствует |
| void GPIO_PortSecureIRQ_SetMask | ( | GPIO_Type * | port, |
| uint32_t | mask ) |
Установка разрешений прерываний по нарушению безопасности порта GPIO.
| port | Базовый адрес порта GPIO |
| mask | Маска разрешения прерываний (SEC_ACC_MASK и PORT_NONSEC_MASK) |
| void GPIO_PortSet_MaxCurrent | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| gpio_pin_max_current_t | current ) |
Настройка максимального выходного тока выводов порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| current | Номер максимального тока из списка доступных значений |
| void GPIO_PortSet_NonsecureMask | ( | GPIO_Type * | port, |
| uint32_t | mask ) |
Установка разрешения для Non-secure обращений к порту GPIO.
| port | Базовый адрес порта GPIO |
| mask | Маска битов разрешения доступа (0 - secure, 1 - non-secure) |
| void GPIO_PortSet_PUPD | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| gpio_pin_pupd_t | pupd ) |
Настройка резистивной подтяжки выводов порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| pupd | Тип внешней подтяжки вывода |
| void GPIO_PortSet_Schmitt | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| uint32_t | bit_value ) |
Включение триггера Шмидта на входных выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| bit_value | Значения по маске битов: 0 - отключен, 1 - включен |
| void GPIO_PortSet_SpeedRaise | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| uint32_t | bit_value ) |
Настройка скорости нарастания сигнала на выводах порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| bit_value | Значения по маске битов: 0 - fast, 1 - slow |
| void GPIO_PortToggle | ( | GPIO_Type * | port, |
| uint32_t | bit_mask ) |
Инвертирование логического уровня выводов порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| void GPIO_PortWrite | ( | GPIO_Type * | port, |
| uint32_t | bit_mask, | ||
| uint32_t | bit_value ) |
Установка логического уровня выводов порта GPIO.
| port | Базовый адрес порта GPIO |
| bit_mask | Битовая маска выбранных выводов |
| bit_value | Значения по маске битов: 0 - низкий логический уровень, 1 - высокий логический уровень |