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

    文章

    1245

    浏览量

    101878
  • 函数
    +关注

    关注

    3

    文章

    4350

    浏览量

    63051
  • Printf
    +关注

    关注

    0

    文章

    83

    浏览量

    13751
收藏 人收藏

    评论

    相关推荐

    stdio.h实现了printf函数?

    我们平时包含的 stdio.h 头文件,里面是不是实现了 printf 函数? 为什么会有这个疑问?因为每次使用 printf,就得包含 stdio.h ,这就导致很多同学误以为,stdio.h
    的头像 发表于 12-18 10:28 294次阅读

    51单片机中为什么很少出现printf的身影

    51单片机中为什么很少出现 printf 的身影?是用不了吗? 不是的,51单片机可以用 printf,只是不建议使用。 平时我们在操作系统上写C语言代码,使用 printf 可以把数据写到标准输出
    的头像 发表于 12-03 10:46 585次阅读
    51单片机中为什么很少出现<b class='flag-5'>printf</b>的身影

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

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

    鸿蒙Ability Kit(程序框架服务)【UIAbility组件基本用法

    UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文[UIAbilityContext]。
    的头像 发表于 06-06 11:02 583次阅读
    鸿蒙Ability Kit(程序框架服务)【UIAbility组件基本<b class='flag-5'>用法</b>】

    STM32F1HAL TIM2定时printf打印出现丢数值的原因?

    芯片:STM32F103C8T6环境:STM32CubeMX和STM32CubeIDE库:STM32F1HAL问题:TIM2定时5秒-&gt;UART1
    发表于 06-04 08:03

    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

    STM32 HAL printf所占用串口不能做中断接收如何解决?

    目前在使用STM32L053系列MCU,基于HAL库的程序,硬件串口资源有3个,都已经被使用;其中USART2通过Switch芯片来实现printf打印和读取传感器数据;因为USART2串口接收数据
    发表于 04-29 09:01

    STM32 hal库无法接收串口数据是怎么回事?

    型号:STM32L432KC官方开发板 串口使用的是板载的USB下载口以及串口 用法: 在串口初始化后,while(1)之前调用 接收中断函数 HAL_UART_Receive_IT(),接收
    发表于 04-29 06:11

    在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

    stm32f7系列使用printf打印在串口上显示不出来怎么解决?

    #include \"stm32f7xx.h\" #include\"stm32f7xx_hal.h\" #include #ifdef __GNUC__
    发表于 04-11 06:18

    STM32CubeIDE printf串口映射函数不能用,为什么?

    printf串口映射函数不能用
    发表于 04-09 08:20

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

    一、Printf简介Printf是一个标准的C库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
    的头像 发表于 04-02 08:09 4027次阅读
    <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