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.
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; }