wenbo2005.online

学习记录 / STM32

输入输出重定向

STM322024-01-17
#include "stdio.h"//=======================注意开启魔术棒中的USB,还有波特率是否一致

int fgetc(FILE*stream)//======================================scanf输入
{
    uint8_ch[1];
    HAL_UART_Receive(&huart1,ch,1,100);
    return ch[0];
}

int fputc(int ch,FILE*f)//---------------------------------小数-------------------串口输出函数,printf函数
{
    HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,HAL_MAX_DELAY);
    return ch;
}

不需要开启USB的:

struct __FILE
{
  int handle;
};
FILE __stdout;
int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1,(u8*)&ch,1,50);
  return ch;
}