在调试代码的时候,最常用的就是使用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
51单片机中为什么很少出现printf的身影
51单片机中为什么很少出现 printf 的身影?是用不了吗? 不是的,51单片机可以用 printf,只是不建议使用。 平时我们在操作系统上写C语言代码,使用 printf 可以把数据写到标准输出
![51单片机中为什么很少出现<b class='flag-5'>printf</b>的身影](https://file1.elecfans.com/web3/M00/00/D3/wKgZPGdOcWOAYumHAAAGbaPdCx0068.png)
还不会吗?三分钟让你速通Printf~
一、Printf简介Printf是一个标准的c库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
![还不会吗?三分钟让你速通<b class='flag-5'>Printf</b>~](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
鸿蒙Ability Kit(程序框架服务)【UIAbility组件基本用法】
UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文[UIAbilityContext]。
![鸿蒙Ability Kit(程序框架服务)【UIAbility组件基本<b class='flag-5'>用法</b>】](https://file1.elecfans.com/web2/M00/EC/1E/wKgZomZhJtuAGvhjAACAmnpjgBM543.png)
STM32F1HAL TIM2定时printf打印出现丢数值的原因?
芯片:STM32F103C8T6环境:STM32CubeMX和STM32CubeIDE库:STM32F1HAL问题:TIM2定时5秒->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
STM32的疑难杂症之一:Printf的使用
一、Printf简介Printf是一个标准的C库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
![<b class='flag-5'>STM32</b>的疑难杂症之一:<b class='flag-5'>Printf</b>的使用](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
求助,关于STM32CUBEIDE1.5.0使用Printf函数的疑问
基于eclipse的,就把工程弄到STM32CUBEIDE中,但怎么都不OK
自己从新从STM32CUBEMX到STM32CUBEIDE建工程,发现可以烧录进去,LED跑起来了,但是print
发表于 03-22 06:47
评论