Loading...
 
Skip to main content

System Workbench for STM32


Retargeting getchar() function

Here my non blocking getchar. You need to clear the overflow otherwise the rx available will not rise again

Copy to clipboard
bool getchar(uint8_t * ch) { // check for overflow and clear if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_ORE)) __HAL_UART_CLEAR_FLAG(&huart1, UART_FLAG_ORE); if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXNE)) { *ch = huart1.Instance->RDR & 0x1FF; return true; } return false; }


And to make printf work in blocking mode:

Copy to clipboard
void _write(int file, char *ptr, int len) { HAL_UART_Transmit(&huart1, (uint8_t*) ptr, len, 10); }
 
Collapse/expand modules below