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.

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