stm32 输出重定向

系统初始化的时候:

printfSerialInit();

是怎么定义的:

void printfSerialInit(void)
{
    init_printf(NULL, _putc);
}
static void _putc(void *p, char c)
{
    UNUSED(p);
    serialWrite(printfSerialPort, c);
}
void init_printf(void *putp, void (*putf) (void *, char))
{
    stdout_putf = putf;
    stdout_putp = putp;
}

在printf.c 中:

putcf stdout_putf;
void *stdout_putp;

最终的目的就是:

stdout_putp = putp;

你可能感兴趣的:(技术归档)