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

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

3天内不再提示

stm32中printf要做哪些配置

ss 来源:嵌入式工程师、CSDN 作者:嵌入式工程师、 2021-07-22 11:50 次阅读

在调试代码时,我们经常用printf函数来输出一些打印信息,那么你的UART串口不够用,还要用printf要怎么办?

其实很简单,就是:使用SWO/SWV。

SWO:Serial Wire Output,串行线输出

SWD:Serial Wire Viewer,串行线查看器

使用printf要做哪些配置?

一、对工程属性进行配置,详细步骤如下

1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。

2、在main文件中重定义《fputc》函数

3、在工程属性的 “Target“ -》 ”Code Generation“ 选项中勾选 ”Use MicroLIB“”

MicroLIB 是缺省C的备份库,关于它可以到网上查找详细资料

至此完成配置,在工程中可以随意使用printf向串口发送数据了。

二、第二种方法是在工程中添加“Regtarge.c”文件

1、在main文件中包含 “stdio.h” 文件

2、在工程中创建一个文件保存为 Regtarge.c , 然后将其添加工程中

3、在main文件中添加定义以下两个函数

int SendChar (int ch) {

while (!(USART1-》SR & USART_FLAG_TXE)); // USART1 可换成你程序中通信的串口

USART1-》DR = (ch & 0x1FF);

return (ch);

}

int GetKey (void) {

while (!(USART1-》SR & USART_FLAG_RXNE));

return ((int)(USART1-》DR & 0x1FF));

}

整合自:嵌入式工程师、CSDN

编辑:jq

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

    关注

    0

    文章

    79

    浏览量

    13493
收藏 人收藏

    评论

    相关推荐

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

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

    使用cubeIDE配置的工程printf在FreeRTOS线程任务无法使用怎么解决?

    使用cubeIDE配置完工程后,对printf进行了重映射,并且把例程的syscalls.c也拷贝到了工程,能够使用printf输出。但
    发表于 04-17 06:19

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

    Printf要做两件事:第一件是将参数字符串以及可变参数进行解析,格式化成一串字符串。第二件事就是将格式化的字符串一个字节一个字节的输出出去(至于以什么样的方式输出那
    的头像 发表于 04-02 08:09 248次阅读
    <b class='flag-5'>STM32</b>的疑难杂症之一:<b class='flag-5'>Printf</b>的使用

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

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

    stm32使用AD5762配置程序

    如何使用STM32配置AD5762。 首先,我们需要确保STM32的开发环境已经搭建好,并且熟悉STM32的编程方式。接下来,我们将按照以下步骤来
    的头像 发表于 01-09 11:10 336次阅读

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

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

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

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

    STM32如何配置外部中断?STM32外部中断配置步骤

    STM32如何配置外部中断?STM32外部中断配置步骤  作为一款现代化的微控制器,STM32系列芯片在各种应用场合中广泛应用。其中最常见的
    的头像 发表于 10-26 17:47 2176次阅读

    51单片机调用printf函数输出字符?该配置什么?

    51单片机调用printf函数输出字符,该配置什么?只能通过串口输出吗?如果可以通过其他方式输出又该设置什么?
    发表于 10-26 08:24

    如何实现Printf()接口重定向到UART

    车规级MCU开发,不像PC端,包含stdio.h头文件就可以使用Printf()函数。为了实现PC端Printf()接口功能,需要在MCU端实现Printf()接口的"重定向"
    的头像 发表于 10-01 10:13 652次阅读
    如何实现<b class='flag-5'>Printf</b>()接口重定向到UART

    stm32怎么用printf函数?

    使用printf要做哪些配置。 有两种配置方法: 一、对工程属性进行配置,详细步骤如下 1、首先要在你的main 文件
    发表于 07-31 10:16

    STM32printf函数重定向方法

    MicroLib提供了一个有限的stdio子系统,它仅支持未缓冲的stdin、stdout和stderr,那么也就是说勾选了Use MicroLib选项后,在代码工程中就可以使用printf()函数咯?
    的头像 发表于 07-10 16:22 1108次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>printf</b>函数重定向方法

    STM32F407 串口配置步骤

    介绍STM32F407串口配置步骤,完成串口的数据发送与接收、实现中断接收,支持printf重定向。
    的头像 发表于 07-06 14:29 1912次阅读
    <b class='flag-5'>STM32</b>F407 串口<b class='flag-5'>配置</b>步骤

    keil5.14在debug模式下Debug(printf)Viewer窗口无串口输出,要怎么配置

    用的是NuTiny-SDK-Nano130开发板,示例代码,printf最终输出的数据函数fputc是通过UART0输出的,我外接串口到PC后,能在PC上的串口终端看到printf的输出信息,但是Debug(
    发表于 06-28 07:49

    CubeMX配置stm32的DAC

    我们使用 STM32CubeMX 软件进行配置。DAC 的配置是相对很简单的,如下图所示。
    的头像 发表于 06-12 09:18 2017次阅读
    CubeMX<b class='flag-5'>配置</b><b class='flag-5'>stm32</b>的DAC