STM32多串口实现printf——基于cubmx

引言:近日笔者需要多串口实现printf,而众所周知直接printf会默认上次使用的串口,不方便直接调整,而网络上的方法都较为复杂,出于简化(偷懒)的目的,是否有一种可以直接进行串口重定向的方法呢?

前面笔者已经分别实现了串口的通信,这里笔者想用串口1连接串口屏,串口2连接语音播报模块,屏幕显示的同时进行播报,

没错,短短的一行代码就解决了问题,下面是实现原理。

我们知道,用cubmx进行初始化时会决定使用的串口,我们先找到这个函数的定义

 

 instance是例子的意思,那么这个函数的作用就是让串口1是串口1(等于白说)

换个说法,这里有两个坑,一号坑和二号坑,还有两个要跳坑的小朋友——一号和二号,

而在一号坑上面有个话筒,一般来说,我们只能听到一号的声音,毕竟一个坑只能站一个人,可是如果我们想要听到二号的声音怎么办呢?没错!把二号挪到一号坑里,也就是上面所用到的函数

huart1.Instance = USART2;

当然,也不能管杀不管埋,所以用完以后还要将串口变回来

huart1.Instance = USART1;

好了,就当无事发生。

以上

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值