找回密码
 立即注册
查看: 320|回复: 3

菜鸟请教,printf如何重定向 8H8K64U的4个串口

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:149
  • 最近打卡:2025-05-02 07:44:38

7

主题

50

回帖

842

积分

高级会员

积分
842
发表于 2024-11-10 12:21:32 | 显示全部楼层 |阅读模式
我想使用printf通过 8H8K64U的4个串口分别来发送数据,如何重定向到这4个串口呢,


看到论坛帖子里说是“重写putchar函数, ti和buff 改成串口2,3对应的寄存器就可以了。”

具体是如何重写呢
BH7NI 在深圳的安徽人
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2024-11-10 13:30:22 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-11-10 14:32:36 | 显示全部楼层
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);
}

变量格式化后写入数组,
然后用指向这个数组的指针挨个送寄存器就行了,
和正常使用串口是一样的

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:149
  • 最近打卡:2025-05-02 07:44:38

7

主题

50

回帖

842

积分

高级会员

积分
842
发表于 2024-11-10 22:04:10 | 显示全部楼层
感谢以上二位,我再琢磨琢磨
BH7NI 在深圳的安徽人
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:24 , Processed in 0.119227 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表