Loading...
 
Skip to main content

System Workbench for STM32


Retargeting getchar() function

I think I am having the same issue here, I'd appreciate any help.

I am using the following to replace the GETCHAR and PUTCHAR. The put char works well and I'm able to use most std print functions.

However, the getchar recieves a character from UART and returns it through the write functions, however, when I use any of the fgets / scanf functions, it just keep accepting characters and doesn't stop. I would expect it to finish capturing characters on a return character or newline.

Copy to clipboard
int __io_putchar(int ch) { // Code to write character 'ch' on the UART if (ch =='\n'){ UART_write('\r'); } return UART_write(ch); } int __io_getchar(void) { // Code to read a character from the UART int c; c = UART_read(); UART_write(c); if (c == '\r'){ UART_write('\n'); return 0; } return c; }
 
Collapse/expand modules below