菜鸟请教,printf如何重定向 8H8K64U的4个串口
我想使用printf通过 8H8K64U的4个串口分别来发送数据,如何重定向到这4个串口呢,看到论坛帖子里说是“重写putchar函数, ti和buff 改成串口2,3对应的寄存器就可以了。”
具体是如何重写呢
【串口收发框架】【printf重定向】【圆周率计算】 - 串行口,DMA支持的4组串口,RS232,RS485,Modbus, CRC16 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4598
核心代码就这么一段:
void Uart_Printf(unsigned char *v,...)
{
va_list ap;
va_start(ap,v);
while(Uart_Send_Lenth);
UART_Send(vsprintf(T_Buffer,v,ap));
va_end(ap);
}
变量格式化后写入数组,
然后用指向这个数组的指针挨个送寄存器就行了,
和正常使用串口是一样的
感谢以上二位,我再琢磨琢磨
页:
[1]