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


__io_getchar implementation for getchar() has a problem

Just repied to topic with the same question:

bool getchar(uint8_t * ch)
{
       // check for overflow and clear
	if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_ORE))
		__HAL_UART_CLEAR_FLAG(&huart1, UART_FLAG_ORE);

	if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXNE))
	{
		*ch = huart1.Instance->RDR & 0x1FF;
		return true;
	}

	return false;
}

void _write(int file, char *ptr, int len)
{
		HAL_UART_Transmit(&huart1, (uint8_t*) ptr, len, 10);
}


The printf will call the _write function. You need to end it with \r\n or nothing will be printed.
I would like to know how to redirect the putc because this is not possible:

if (sci1_get(&ch))
				printf("%c", ch);