当前位置: 首页 > news >正文

STM32CubeIDE实现printf重定向输出到串口

一、硬件原理图

二、stm32cubemx配置

1、SYS的Debug

 2、USART2的Mode

 3、Project Manager的Code Generator

生成代码 

三、程序修改

1、main.c文件

①在USER CODE BEGIN Includes下面添加以下代码

#include <stdio.h>
#include <string.h>
uint8_t t=0;

②在USER CODE BEGIN 3下面添加以下代码

	  HAL_Delay(1000);
	  printf("%d\r\n",++t);//计时,单位s

2、usart.c文件

USER CODE BEGIN 0下面添加以下代码

#include "stdio.h"

#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
	HAL_UART_Transmit(&huart2, (uint8_t*)&ch,1,HAL_MAX_DELAY);
    return ch;
}

 然后直接点击Run 

 对跳出来的信息进行配置

四、实验结果

  串口小工具下载

UartAssist串口调试助手 V5.0.3-软件工具-野人家园http://www.cmsoft.cn/resource/101.html

更进一步:

中文乱码

输出浮点数

参考

STM32学习笔记 —— STM32CubeIDE+printf()和scanf()重定向+使能浮点_VinsonTM的博客-CSDN博客#include "stdio.h"#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #define GETCHAR_PROTOTYPE int __io_getchar(FILE *f)#else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #define GETCHAR_PROTOTYPE int fgetc(FILhttps://blog.csdn.net/wschou/article/details/106594045
STM32CubeIDE之printf重定向及串口(uart)输出浮点型数据的修改_处处恋芳草的博客-CSDN博客STM32CubeIDE之printf重定向及串口(USART)输出浮点型数据的修改STM32CubeIDEVersion: 1.0.2Build: 3566_20190716-0927 (UTC)OS: Windows 10, v.10.0, x86_64 / win32Java version: 1.8.0_202板卡:NUCLEO-F411REprintf重定向首先你得配置好...https://blog.csdn.net/qq_42980638/article/details/98359026

STM32CubeIDE实现printf重定向输出到串口_走错路的程序员的博客-CSDN博客_cubeide串口重定向搞了好半天,最后搞通了。感谢这位大神的指点https://blog.csdn.net/kyzb002/article/details/101100922串口怎么配置的就不细述了。只要在main.c文件中。 USER CODE BEGIN 0 之间加入下面这段代码即可网上有的文章只写了第二个函数 __io_putchar 却没写必须要重新定义 _write 函数这里是两个函数都必须实现...https://blog.csdn.net/phker/article/details/104094606

STM32学习笔记 —— STM32CubeIDE中文大小不一乱码情况_VinsonTM的博客-CSDN博客_stm32cube中文乱码中文大小不一乱码情况菜单栏 ==Windows -> Preferences ==https://blog.csdn.net/wschou/article/details/106484789

相关文章:

  • 解决:知乎中导入的md格式文档,公式不能居中,即使加了\\后也不能居中
  • js小数点后面不足4位数补0
  • ES6模块化开发问题大全
  • 离子液体1-乙基-3-甲基咪唑六氟磷酸盐([EMIm][PF6])修饰纳米Fe3O4四氧化三铁(规格)
  • 学校的校园广播是如何设置的
  • 润和软件携OpenHarmony亮相全国首场华为云云商店·星品推介会
  • 产品经理或项目经理考PMP,薪资会不会提高?
  • [iOS]-UIKit
  • RT1176 LPSPI驱动移植到RT-THREAD
  • JAVA异步执行线程池
  • 效果最大化的所需素材
  • MySQL中的int(11)类型后的括号是什么意思?ZEROFILL属性
  • 树莓派4B(64位)环境搭建
  • AWS CodeCommit中分支保护
  • 免费搭建查题公众号提供题库接口
  • [Vue CLI 3] 配置解析之 css.extract
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Android 架构优化~MVP 架构改造
  • CentOS7简单部署NFS
  • Debian下无root权限使用Python访问Oracle
  • dva中组件的懒加载
  • Iterator 和 for...of 循环
  • Logstash 参考指南(目录)
  • Sequelize 中文文档 v4 - Getting started - 入门
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 读懂package.json -- 依赖管理
  • 给初学者:JavaScript 中数组操作注意点
  • 解决iview多表头动态更改列元素发生的错误
  • 京东美团研发面经
  • 使用 Docker 部署 Spring Boot项目
  • 使用权重正则化较少模型过拟合
  • 一文看透浏览器架构
  • 应用生命周期终极 DevOps 工具包
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​虚拟化系列介绍(十)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1)(1.11) SiK Radio v2(一)
  • (4)logging(日志模块)
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)项目管理杂谈-我所期望的新人
  • ***测试-HTTP方法
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Core引入性能分析引导优化
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET构架之我见
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @angular/cli项目构建--Dynamic.Form
  • @SpringBootApplication 包含的三个注解及其含义
  • @取消转义
  • [2]十道算法题【Java实现】
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [2544]最短路 (两种算法)(HDU)
  • [C#]winform部署yolov5-onnx模型
  • [C#]科学计数法(scientific notation)显示为正常数字