基于STM32的多种printf用法

电子说

1.2w人已加入

描述

  在调试代码的时候,最常用的就是使用printf函数来输出一些打印信息,提示自己代码的执行情况。

  如果你的UART串口不够用,还要用printf,此时该怎么办?

       解决方法:使用SWO/SWV。
 

  •   SWO:Serial Wire Output,串行线输出
     
  •   SWD:Serial Wire Viewer,串行线查看器
     

   一、常见printf输出

  •   1.UART打印

 

  •   2.Keil MDK-ARM Viewer输出

 

  •   3.IAR EWARM终端输出

 

  •   4.ST-LINK Utility SWV输出


 

    二、UART映射printf

  使用硬件UART串口映射,实现printf打印输出。

  #include "stdio.h"

  int fputc(int ch, FILE *f)

  {

  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;

  }

 

   三、Keil MDK-ARM Viewer输出

  •   针对2、3、4输出

  •   添加代码:

  #include "stdio.h" int fputc(int ch, FILE *f) { ITM_SendChar(ch); return ch; }
 

  •   在Keil的Options中设置

   四、IAR EWARM终端输出

  •   1.Oprtins设置

 

  •   2.SWO配置


 

   五、ST-LINK Utility SWV输出

   工具在线查看输出信息,需要上面配置代码,通过ST-Link链接即可。


      文章整合自:csdn

编辑:ymf

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分