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


