Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


You are viewing a reply to Retargeting getchar() function  

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.

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