OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2656|回复: 5

怎么实现stm32双串口printf输出

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-5-16
在线时间
2 小时
发表于 2020-5-16 10:52:35 | 显示全部楼层 |阅读模式
1金钱

最佳答案

查看完整内容[请看2#楼]

void Usart4Printf(char* fmt,...) { u16 i,j; va_list ap; va_start(ap,fmt); vsprintf((char*)USART4_TX_BUF,fmt,ap); va_end(ap); i = strlen((const char*)USART4_TX_BUF); for(j = 0;j < i;j++) { while(USART_GetFlagStatus(UART4,USART_FLAG_TC)==RESET); USART_SendData(UART4,USART4_TX_BUF[j]); } }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
发表于 2020-5-16 10:52:36 | 显示全部楼层
void Usart4Printf(char* fmt,...)  
{  
        u16 i,j;
        va_list ap;
        va_start(ap,fmt);
        vsprintf((char*)USART4_TX_BUF,fmt,ap);
        va_end(ap);
        i = strlen((const char*)USART4_TX_BUF);               
        for(j = 0;j < i;j++)                                                       
        {
          while(USART_GetFlagStatus(UART4,USART_FLAG_TC)==RESET);
                USART_SendData(UART4,USART4_TX_BUF[j]);
        }
}
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-5-2
在线时间
0 小时
发表于 2020-5-16 10:52:38 | 显示全部楼层
虽然我不懂,但还是帮顶!
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-5-16 12:28:41 | 显示全部楼层
这个不行的
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6745
金钱
6745
注册时间
2017-4-12
在线时间
1258 小时
发表于 2020-5-16 13:41:19 | 显示全部楼层
自己在实现一个类似printf的函数
回复

使用道具 举报

10

主题

205

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1322
金钱
1322
注册时间
2015-3-3
在线时间
127 小时
发表于 2020-5-16 18:35:00 | 显示全部楼层
参考原子哥的printf函数,对每个串口做printf格式化函数的封装即可,比如Usart1_printf(),Usart2_printf()...。
海纳百川者,荣耀伴一生!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-1 02:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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