0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

单片机爱好者 2018-07-20 11:37 次阅读

(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.。.

}

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2232

    文章

    10650

    浏览量

    347885
  • 串口
    +关注

    关注

    14

    文章

    1478

    浏览量

    74333

原文标题:STM32多串口共用printf打印串口数据

文章出处:【微信号:gh_dae0718828df,微信公众号:gh_dae0718828df】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何利用51单片机实现自己的串口发送函数printf函数同时共用

    51单片机如何实现自己的串口发送函数printf函数同时共用?发现调试过程中两者不能共存
    发表于 10-14 21:16

    如何写一个简易的printf函数

    如何写一个简易的printf函数
    发表于 04-28 06:47

    如何写出串口共用printf函数语句

    如何写出串口共用printf函数语句呢?求大神解答
    发表于 11-17 06:37

    求大神解答如何去实现STM32串口printf函数

    求大神解答如何去实现STM32串口printf函数呢?
    发表于 11-30 06:56

    串口共用printf函数怎么实现?

    串口共用printf函数怎么实现?
    发表于 12-01 07:15

    基于STM32printf串口数据输出

    该方法适用于 STM32 ,实现了使用printf等标准C流函数输出数据的办法,极大的减少了输出 串口数据 时所需要做的数据处理。 实现原理 在C库中,
    发表于 06-21 07:51 2w次阅读
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>printf</b><b class='flag-5'>串口</b>数据输出

    STM32中使用printf打印串口数据的实现原理及方法

    STM32中使用printf打印串口数据的实现原理 在C库中,printf()等输出流函数都是通过fputc()这个
    的头像 发表于 07-22 11:12 1.4w次阅读

    STM32单片机IAR环境下重定向printf函数

    STM32单片机IAR环境下重定向printf函数一、引言在项目开发中,使用printf函数通过串口
    发表于 12-03 10:36 15次下载
    <b class='flag-5'>STM32</b>单片机IAR环境下重定向<b class='flag-5'>printf</b><b class='flag-5'>函数</b>

    STM32使用串口重定向系统printf函数输出时出现一初始化或使用printf函数系统卡死的原因及解决办法

    STM32使用串口重定向系统printf函数输出时出现一初始化或使用printf函数系统卡死的原
    发表于 12-09 10:06 12次下载
    <b class='flag-5'>STM32</b>使用<b class='flag-5'>串口</b>重定向系统<b class='flag-5'>printf</b><b class='flag-5'>函数</b>输出时出现一初始化或使用<b class='flag-5'>printf</b><b class='flag-5'>函数</b>系统卡死的原因及解决办法

    STM32F103串口1 printf函数的实现

      在单片机中使用最多的通信接口基本就是串口了,说起串口就不得不提串口中最常用的一个函数就是打印函数pr
    发表于 12-20 19:37 1次下载
    <b class='flag-5'>STM32</b>F103<b class='flag-5'>串口</b>1 <b class='flag-5'>printf</b><b class='flag-5'>函数</b>的实现

    5. STM32——串口发送字符、字符串 + printf 的重定向

    STM32——串口发送字符、字符串 + printf 的重定向基本框架1. 配置时钟:配置GPIO时钟、窗口时钟、引脚复用时钟2. 配置GPIO结构体在 stm32f10x_gpio.
    发表于 12-24 18:53 11次下载
    5. <b class='flag-5'>STM32</b>——<b class='flag-5'>串口</b>发送字符、字符串 + <b class='flag-5'>printf</b> 的重定向

    stm32单片机串口使用printf及u3_printf

    无论是在51单片机还是在stm32,默认printf串口都是串口一。使用printf的时候头文件为&amp;quot;stdio.h
    发表于 12-27 19:24 1次下载
    <b class='flag-5'>stm32</b>单片机<b class='flag-5'>串口</b>使用<b class='flag-5'>printf</b>及u3_<b class='flag-5'>printf</b>

    stm32printf函数串口输出代码

    stm32f103串口一与串口printf函数输出、本人是萌新,因项目需要特意配置了该段代码,不喜勿喷,纯属个人笔记。对于
    发表于 12-28 19:10 13次下载
    <b class='flag-5'>stm32printf</b><b class='flag-5'>函数</b>的<b class='flag-5'>串口</b>输出代码

    STM32中串行通讯中printf函数的使用

    由于最近使用到了串口屏,而它与STM32之间的连接是通过单片机之间的串行通讯实现的,具体而言我利用printf函数串口屏发送数据,而
    发表于 12-29 19:31 6次下载
    <b class='flag-5'>STM32</b>中串行通讯中<b class='flag-5'>printf</b><b class='flag-5'>函数</b>的使用

    stm32使用printf实现串口打印原理

      标准库函数的默认输出设备是显示器, 要实现在串口或 LCD 输出,必须重定义标准库函数里调用的与输出设备相关的函数 .例如 :printf
    发表于 01-13 14:55 5次下载
    <b class='flag-5'>stm32</b>使用<b class='flag-5'>printf</b>实现<b class='flag-5'>串口</b>打印原理