STM32:如何写出多串口共用printf函数语句?

(1)问题描述: 多串口共用printf函数,百度到的资料大部分是建议重新写一个xx_printf(format, …)。但是使用起来还是不方便,就此问题而言加上一个判断语句便可解决。
(2)解决方法: printf函数最后调用的是int fputc(int ch, file *f),那么重新改写此函数便可。
(3)代码:
//标志量定义
int usart_printf_flag = 2;//默认串口2
//改写
fputcint fputc(int ch, file *f)
{
if (usart_printf_flag == 2)
{
while(usart_getflagstatus(usart2,usart_flag_tc)==reset);
usart_senddata(usart2,(uint8_t)ch);
}
else
{
while(usart_getflagstatus(usart1,usart_flag_tc)==reset);
usart_senddata(usart1,(uint8_t)ch);
}
return ch;
}
//中断处理
void usart1_irqhandler(void)
{
usart_printf_flag = 1;
//your coding here.。.
}
void usart2_irqhandler(void)
{
usart_printf_flag = 2;
//your coding here.。.
}

中国移动5G基站超110万!超过全国5G基站比例50%
Android 13改善用户隐私新功能
伺服电机该如何设置参数,详细步骤是怎样的
创造新市场,Zigbee联盟开启认证转让计划
破壁机电机降低噪音的方法有哪些
STM32:如何写出多串口共用printf函数语句?
福州地区fm频道列表道列表
德索分享LVDS连接器生产制造说明
多功能电力仪表已广泛运用于各种各样自动控制系统
新唐科技W584A052介绍
南芯PFC控制芯片满足中大功率充电器和输入电流谐波要求
CS83787单节锂电池内置升压2x13W双声道D类音频功放IC
vivox20发布会、代言人确定:vivo x20全面屏引入人脸识别黑科技,看了你还买苹果新机iPhoneX吗?
阿里AI科技语音交互技术,已实现在85分贝工业噪声下将语音转换为文字
2019影响全球不断升级的数据和电力需求的大趋势
影驰RTX2070星曜拆解高清图赏
具有30年生命周期的铌-石墨烯电池
科学家通过双面投影技术更好地绘制地球地图
基于机器视觉中单线如何传输高分辨率视频数据?
安路科技获华大半导体领投C轮融资,全力推动国产FPGA加速发展