Loading...
 
Skip to main content

System Workbench for STM32


__io_getchar implementation for getchar() has a problem

Just repied to topic with the same question:

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; } void _write(int file, char *ptr, int len) { HAL_UART_Transmit(&huart1, (uint8_t*) ptr, len, 10); }


The printf will call the _write function. You need to end it with \r\n or nothing will be printed.
I would like to know how to redirect the putc because this is not possible:

Copy to clipboard
if (sci1_get(&ch)) printf("%c", ch);
 
Collapse/expand modules below