在调试代码的时候,最常用的就是使用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函数
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函数
求助,关于STM32CUBEIDE1.5.0使用Printf函数的疑问
基于eclipse的,就把工程弄到STM32CUBEIDE中,但怎么都不OK
自己从新从STM32CUBEMX到STM32CUBEIDE建工程,发现可以烧录进去,LED跑起来了,但是print
发表于 03-22 06:47
解决printf无法打印输出的问题
FreeRTOS中直接使用newlib库是有问题的,相信使用过freertos进行printf都能发现这个问题,这个问题网上有两种方法:1、使用printf.stdarg.c,问题在于,这个库没有
split在python中的用法
split在python中的用法 split()是Python中一个非常常用的字符串函数,它能够根据指定的分隔符将一个字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。本文将详细介绍
plsy指令具体用法
plsy是一种基于命令行的简单工具,用于在文本终端上播放音乐。它是一个很小巧、易于使用的命令行播放器,适用于各种Unix系统,如Linux和macOS。plsy支持多种音频格式,包括MP3、FLAC
AWorksLP应用笔记:重定向printf函数
printf函数作为标准库定义的格式化输出方式,本文将介绍其在AWorksLP下默认适配以及重映射至热拔插设备端口的实现。默认适配AWorksLP中默认已经对printf函数完成相关适配工作,且默认
c语言printf输出空格间隔
C语言中,需要在printf输出中添加空格间隔可以通过多种方式实现。这个空格间隔可以用于对输出进行格式化使其更加易读、美观。在接下来的文章中,我将详细介绍如何使用空格来间隔输出以及如何控制输出的对齐
评论