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工作正常。
我該如何解決這個問題?