0
我想在使用IAR编译器的STM32F401RE_NUCLEO中使用scanf()函数。scanf()缺少第一个字母
这是我的重载fgetc函数。
int fgetc(FILE *f) {
char ch;
while (__HAL_UART_GET_FLAG(&UartHandle, UART_FLAG_RXNE) == RESET);
HAL_UART_Receive(&UartHandle, (uint8_t*)&ch, 1, 0xFFFF);
return ch;
}
而且我在下面的主函数中使用scanf。
int n;
printf("[DBG] Input: ");
scanf("%d", &n);
printf("[DBG] Output: %d\n", n);
如果我从终端键入“123”,然后打印“23”。
%d,%u,%f是相同的。
但是,只有%c工作正常。
我该如何解决这个问题?