系统初始化的时候:
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;