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

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

3天内不再提示

基于STM32的多种printf用法

汽车玩家 来源:csdn 作者:csdn 2021-07-23 11:12 次阅读

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

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

解决方法:使用SWO/SWV。

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

一、常见printf输出

  • 1.UART打印

  • 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

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

    关注

    22

    文章

    1216

    浏览量

    101068
  • 函数
    +关注

    关注

    3

    文章

    4273

    浏览量

    62292
  • Printf
    +关注

    关注

    0

    文章

    81

    浏览量

    13595
收藏 人收藏

    评论

    相关推荐

    还不会吗?三分钟让你速通Printf~

    一、Printf简介Printf是一个标准的c库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
    的头像 发表于 07-27 08:11 218次阅读
    还不会吗?三分钟让你速通<b class='flag-5'>Printf</b>~

    STM32CubeIDE printf浮点数,浮点数丢失数值的原因?

    1、芯片:STM32F103C8T62、环境:STM32CubeIDE3、问题:printf浮点数,浮点数数值丢失如 float A=25.6666;float B=24.7777;实际打印
    发表于 06-03 07:07

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    最近使用STM32CubeIde生成工程,就先做一个简单的串口工程,使用NUCLEO-WBA52CG板子进行调试。 在初始化完毕后,使用printf打印log,重写了int io_putchar
    发表于 05-24 06:13

    在macos下SW4STM32编译,调用printf异常怎么解决?

    刚开始在MACOS下开发STM32的程序,现在出现了一些很奇怪的问题,看是否大家有遇到这样的问题。 开发配置如下 1.STM32cube427,STM32Cube FW_F4 V1.21.0
    发表于 04-17 06:48

    STM32CubeIDE使用sprintf/printf发送浮点数失败的原因?

    均得到的是v=0.000, 已按照truestudio的一些教程设置了-u_printf_float标志 这个函数的浮点功能,很重要呀,一些程序调试,打印Debug信息,液晶显示等都会用到 实在不行就只有换回Keil+stm32cubeMX了 求大神指点指点!
    发表于 04-16 06:11

    STM32的疑难杂症之一:Printf的使用

    一、Printf简介Printf是一个标准的C库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
    的头像 发表于 04-02 08:09 3113次阅读
    <b class='flag-5'>STM32</b>的疑难杂症之一:<b class='flag-5'>Printf</b>的使用

    求助,关于STM32CUBEIDE1.5.0使用Printf函数的疑问

    基于eclipse的,就把工程弄到STM32CUBEIDE中,但怎么都不OK 自己从新从STM32CUBEMX到STM32CUBEIDE建工程,发现可以烧录进去,LED跑起来了,但是print
    发表于 03-22 06:47

    解决printf无法打印输出的问题

    FreeRTOS中直接使用newlib库是有问题的,相信使用过freertos进行printf都能发现这个问题,这个问题网上有两种方法:1、使用printf.stdarg.c,问题在于,这个库没有
    的头像 发表于 01-04 08:00 1614次阅读
    解决<b class='flag-5'>printf</b>无法打印输出的问题

    split在python中的用法

    split在python中的用法 split()是Python中一个非常常用的字符串函数,它能够根据指定的分隔符将一个字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。本文将详细介绍
    的头像 发表于 12-25 15:12 1921次阅读

    pcb插针的用法

    pcb插针的用法
    的头像 发表于 12-13 16:58 1689次阅读

    plsy指令具体用法

    plsy是一种基于命令行的简单工具,用于在文本终端上播放音乐。它是一个很小巧、易于使用的命令行播放器,适用于各种Unix系统,如Linux和macOS。plsy支持多种音频格式,包括MP3、FLAC
    的头像 发表于 12-08 14:10 2106次阅读

    AWorksLP应用笔记:重定向printf函数

    printf函数作为标准库定义的格式化输出方式,本文将介绍其在AWorksLP下默认适配以及重映射至热拔插设备端口的实现。默认适配AWorksLP中默认已经对printf函数完成相关适配工作,且默认
    的头像 发表于 11-25 08:24 573次阅读
    AWorksLP应用笔记:重定向<b class='flag-5'>printf</b>函数

    C语言printf函数族学习笔记

    printf 应该是学习C语言的第一个函数,我们都知道它是用于字符串格式化输出的。但是它的用法你真正了解了吗?
    的头像 发表于 11-24 11:15 865次阅读
    C语言<b class='flag-5'>printf</b>函数族学习笔记

    c语言printf输出空格间隔

    C语言中,需要在printf输出中添加空格间隔可以通过多种方式实现。这个空格间隔可以用于对输出进行格式化使其更加易读、美观。在接下来的文章中,我将详细介绍如何使用空格来间隔输出以及如何控制输出的对齐
    的头像 发表于 11-24 09:56 5953次阅读

    STM32工程上printf()函数的方法实现

    针对STM32的串口编程,可以通过USART1向计算机的串口调试助手打印数据,或者接收计算机串口调试助手的数据。
    的头像 发表于 11-06 16:22 1389次阅读
    <b class='flag-5'>STM32</b>工程上<b class='flag-5'>printf</b>()函数的方法实现