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

    文章

    84

    浏览量

    14629
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    要做一个DS18B20的读取程序,单总线需要配置为输入或者输出,怎么配置好?

    目前要做一个DS18B20的读取程序,单总线需要配置为输入或者输出。怎么配置
    发表于 11-18 06:30

    printf重定向之后无法运行是怎么回事?

    参考 CW32F003_StandardPeripheralLib_V1.6ExamplesUARTUART_Printf,在代码添加了#ifdef __GNUC__ /* With GCC
    发表于 11-13 08:07

    C语言的printf基本用法介绍

    个小数。f 是 float 的简写。 除了这些,printf 支持更加复杂和优美的输出格式,考虑到读者的基础暂时不够,我们将在《C语言数据输出大汇总以及轻量进阶》一节展开讲解。 我们把代码补充完整
    发表于 11-12 07:04

    求助,关于C代码printf打印的疑问求解

    在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息: CPU验证小白一枚,有个问题不是很理解:黄色框框内的字符看起来应该是C代码printf语句
    发表于 11-10 07:54

    Proteus配置STM32外部时钟HSE如何配置

    有大佬会配置ProteusSTM32F103C8的外部时钟吗 这个proteus打印不出来数据,但是在实物的连接可以正常打印 代码
    发表于 11-02 13:54

    printf函数在hbird SDK的应用

    在helloworld的例程,使用到了printf函数,通过串口输出了数据。 在Nuclei Studio通过teminal窗口可以查看串口打印的信息。 这背后的原理是什么? 在嵌入式
    发表于 10-31 08:48

    e203仿真helloworld例程printf能在终端显示的原理

    pirntf可以直接输出信息。而在嵌入式领域,想要实现printf要做一点工作。 以蜂鸟e203为例,它没有显示器,没有标准终端,想要实现printf最常见的方式是通过串口打印信息。但是,怎么让编译器
    发表于 10-27 06:56

    为什么要做晶振匹配测试?

    crystaloscillator为什么要做晶振匹配测试?了解振荡电路的其他元件为什么要做晶振匹配测试?因为要验证测试晶振是否超出频率偏差,晶振在实际工作的输出频率偏差太大,可能超出时钟芯片对其
    的头像 发表于 08-12 18:23 465次阅读
    为什么<b class='flag-5'>要做</b>晶振匹配测试?

    对于在STM32CubeMx使用FMC的NAND FLASH里面配置这些时间有什么说明吗?

    对于在STM32CubeMx使用FMC的NAND FLASH里面配置这些时间有什么说明吗?
    发表于 07-21 07:07

    使用CubeMX配置STM32H7R7L8的时候出现无配置问题,怎么解决?

    使用CubeMX配置STM32H7R7L8的时候出现无配置问题,但是根据正点原子提供的例程的.ioc文件又是可以正常
    发表于 06-23 07:40

    RAGFlow配置MaaS API使用指导

    RAGFlow配置MaaS API使用指导
    的头像 发表于 04-19 13:40 3092次阅读
    RAGFlow<b class='flag-5'>中</b><b class='flag-5'>配置</b>MaaS API使用指导

    为什么GPIO配置总是出问题?

    STM32开发,GPIO(通用输入输出)配置看似简单,但在实际开发,很多人常常会遇到这些困惑:明明按照教程配置了GPIO,为什么LED
    的头像 发表于 04-07 11:59 1367次阅读
    为什么GPIO<b class='flag-5'>配置</b>总是出问题?

    STM32CubeMX用于STM32配置和初始化C代码生成

    电子发烧友网站提供《STM32CubeMX用于STM32配置和初始化C代码生成.pdf》资料免费下载
    发表于 02-26 17:32 678次下载

    ADS1191RDATA发送命令读取数据是什么意思?

    目前在用STM32和ADS1191做心电测量项目,在通过SPI配置好ADS1191后 1.在DRDY电平变化时,通过中断直接读取ADC—OUT口的数据,即为测量的心电信号吗? 2.如果是得到的心电信号还要做什么处理? 3.AD
    发表于 01-01 07:59

    stdio.h实现了printf函数?

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