В прошлый раз (тык!) мы с помощью STM32CubeMx настроили интерфейс UART. Сейчас очень кратко опишем, как им пользоваться. Сам интерфейс UART очень прост в использовании. Он спроектирован для работы в режиме устройство-устройство, в нем нет возможностей для подключения нескольких slave.
Отправка данных по UART
Следующая команда отправляет данные.
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Переменные:
1. Указатель на структуру UART
2. Массив отправки данных
3. Размер массива
4. Максимальное время ожидания при проверке условий отправки данных (указывается в мс)
Возвращает: результат выполнения команды, HAL_OK -- успешное выполнение
Результат отправки данных:
Пример:
HAL_UART_Transmit(&huart2, (uint8_t*)"Hello", 5, 10);
Получение данных по UART
Команда получения данных
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Переменные:
1. Указатель нас структуру UART
2. Массив, в который будут записываться данные
3. Размер массива
4. Максимальное время ожидания при проверке условий отправки данных (указывается в мс)
Возвращает: результат выполнения команды, HAL_OK -- успешное выполнение
Заключение
Работа с UART через библиотеку HAL очень просто. Ничего не надо инициализировать, все делает Куб на автомате.
Готовый проект здесь.