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

    文章

    81

    浏览量

    13623
收藏 人收藏

    评论

    相关推荐

    stm32 GPIO中断配置教程

    在嵌入式开发STM32微控制器因其高性能和丰富的外设而广受欢迎。GPIO(通用输入/输出)中断是STM32微控制器中常用的功能之一,它允许开发者在特定引脚上检测到外部信号变化时快速响应。 1.
    的头像 发表于 11-19 15:53 134次阅读

    stm32用串口烧录怎么设置

    准备工作 确保您拥有STM32开发板和相应的硬件设备,如USB转串口模块。 安装STM32CubeMX和STM32CubeProgrammer软件,这些是ST官方提供的工具,用于配置
    的头像 发表于 08-22 09:33 1154次阅读

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

    Printf要做两件事:第一件是将参数字符串以及可变参数进行解析,格式化成一串字符串。第二件事就是将格式化的字符串一个字节一个字节的输出出去(至于以什么样的方式输出那
    的头像 发表于 07-27 08:11 240次阅读
    还不会吗?三分钟让你速通<b class='flag-5'>Printf</b>~

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

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

    AIROC-Wi-Fi-Bluetooth-STM32-release-v1.4.0如何将设备配置为AP?

    了 wifi-bt-tester 项目。 但是,我想将设备配置为 AP 而不是 STA。 我试着将 console_task() 功能的 wcm_config.interface
    发表于 05-29 06:39

    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.2
    发表于 04-17 06:48

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

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

    STM32CubeIDE生成STM32F4Discovery的RTOS工程无法运行的原因?怎么解决?

    test407.ioc, 配置Midleware, 使能RTOS, 并配置接口为CMSIS V2, 然后保存生成代码 4. 启动编译/调试选项, 此时选择调试其为: stlink-
    发表于 04-11 06:16

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

    Printf要做两件事:第一件是将参数字符串以及可变参数进行解析,格式化成一串字符串。第二件事就是将格式化的字符串一个字节一个字节的输出出去(至于以什么样的方式输出那
    的头像 发表于 04-02 08:09 3303次阅读
    <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 658次阅读

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

    包含float型的输出!你没办法printf出浮点数。2、使用优化过的printf,这个能输出float型,但是在中断如果使用float输出,就会莫名其妙的整个程
    的头像 发表于 01-04 08:00 1688次阅读
    解决<b class='flag-5'>printf</b>无法打印输出的问题

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

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

    c语言printf输出空格间隔

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