STM32 HAL: используем printf

Feb 18, 2019 18:39


Originally published at Шалаш инженера. You can comment here or there.

В сгенерированный кубом код нужно добавить следующий кусок в main.c:

#include #include // STDOUT_FILENO, STDERR_FILENO int _write(int file, char *data, int len) { if ((file != STDOUT_FILENO) && (file != STDERR_FILENO)) { errno = EBADF; return -1; } // arbitrary timeout 1000 HAL_StatusTypeDef status = HAL_UART_Transmit(&huart1, (uint8_t*)data, len, 1000); // return # of bytes written - as best we can tell return (status == HAL_OK ? len : 0); }
Я добавляю после /* USER CODE BEGIN 4 */. UART должен быть предварительно настроен. Да, это блокирующий код, но пока что он меня устраивает.

stm32, #include, Программирование

Previous post Next post
Up