使用Clion开发STM32串口调试遇到问题之重定向printf不显示(已解决问题)

news2024/9/23 12:21:55

为什么要使用重定向printf

C语言中经常使用printf来输出调试信息,打印到屏幕。由于在单片机中没有屏幕,但是我们可以重定向printf,把数据打印到串口,从而在电脑端接收调试信息。这是除了debug外,另外一个非常有效的调试手段

但是由于使用编译的c语言不是官方定义的哪个版本

直接跳转解决方案:解决问题的方法

开发环境

  • Clion 24年版本 
  • 使用STM32cubeMX进行项目初始化
  • HAL官方库
  • arm-none-eab

问题

使用Clion进行串口调试的时候发现 已经进行fputc的重写还是没有向串口控制台返回数据

经过查资料发现都是配置keil的教程  但是还是找到了稚晖君的文章找到了原因  具体不赘述可以看稚晖君的文章他使用的是标准库  我这边使用的是hal库 hal库里面syscalls.c重写了稚晖君文章里的函数

使用KEIL设置是需要勾选USE MicroLIB  

但是Clion并没有这个功能所以我们需要手动配置

解决问题的方法

#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(&huart1, (uint8_t *) &ch, 1, HAL_MAX_DELAY);
    return ch;
}

直接粘贴到hal库的usart.c文件的里面

接着回到main方法里

 HAL_Delay(1000);
      printf("你好!!\n");
      printf("%.2f\n",1.52);

 还是这几句代码  接着编译烧录  

 问题解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2057264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

根据前序遍历和中序遍历生成二叉树,并层序遍历输出二叉树

二叉树 前序遍历:ABDFCEGH 中序遍历:BFDAGEHC 演示 代码: package com.fdw.algorithm.hhh;import com.fdw.algorithm.structure.TreeNode;import java.util.LinkedList; import java.util.Queue;/*** description:* author: ThatMonth* cr…

Javaweb学习之JavaScript输出与字符串(二)

前情回顾 Javaweb学习之JavaScript(一)-CSDN博客 学习资源 w3school 在线教程 本期介绍 输出语句 在JavaScript中,有几种方式可以输出信息到控制台(console)、浏览器窗口(window)或其他地方。…

谷粒商城实战笔记-220~224-商城业务-微博认证服务-OAuth2.0

文章目录 一,220-商城业务-认证服务-OAuth2.0简介二,221-商城业务-认证服务-微博登录测试1,创建微博应用2,应用配置重定向url3,修改商城登录页面4,点击微博登录5,点击授权 三,222-商…

[译]开发者与熵的博弈

原文:https://itnext.io/entropy-in-software-development-77ed9110ef28 翻译:我的文章翻译智能体 文章润色智能体 文章转脑图智能体 人工校对 文章脉络: 文章概括: 文章通过热力学的视角,深入探讨了软件开发中的复…

GitHub的未来:在微软领导下保持独立与AI发展的平衡

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

企业高性能web服务器----nginx详细知识点+实验

知识点 一、Web 服务介绍 Apache Nginx 1、Apache 经典的 Web 服务端 Apache 起初由美国的伊利诺伊大学香槟分校的国家超级计算机应用中心开发 目前经历了两大版本分别是 1.X 和 2.X 其可以通过编译安装实现特定的功能 2、Apache的三种模型 Apache prefork 模型 预…

4000元亮度最高的投影仪:当贝X5S 3300CVIA流明超高亮度白天也清晰

你购买投影仪的时候一般预算多少?目前市面上的投影仪价位有几百也有上万,品牌和类型都比较多,买投影前比较关注哪些投影仪参数?最近有朋友向我咨询购买投影仪的事项,预算在4000左右,问问4000元哪款投影仪哪…

Ollama Desktop

一、简介 Ollama Desktop是基于Ollama引擎的一个桌面应用解决方案,用于在macOS、Windows和Linux操作系统上运行和管理Ollama模型的GUI工具。 Ollama Desktop提供了丰富的功能,包括但不限于: 可视化的管理界面:用户可以通过图形…

推荐3款免费强大OCR神器,工作必备,总有一款适合你,必须收藏

ShareX ShareX是一款功能强大且免费的开源屏幕捕捉和录屏工具,主要用于Windows操作系统。它不仅可以捕捉任何屏幕区域,还可以录制视频、拍摄屏幕截图,并将其上传到各种在线平台。ShareX的功能非常全面,包括截图、录屏、加水印、裁…

低代码平台:效率与创新的双重引擎

低代码开发在软件开发领域是一种越来越流行的趋势,这是有充分理由的。低代码使专业开发人员和非开发人员能够构建更易于集成、修改和升级的复杂企业解决方案,使企业能够快速轻松地创建软件应用程序无需丰富的编码经验。低代码平台彻底改变了软件开发方式…

LLM应用实战: 产业治理多标签分类

1. 背景 许久未见,甚是想念~ 近期本qiang~换了工作,处于新业务适应期,因此文章有一段时间未更新,理解万岁! 现在正在着手的工作是产业治理方面,主要负责其中一个功能模块,即按照产业治理标准体…

巡检机器人有哪些功能和应用场景

随着科技的飞速发展,巡检机器人作为智能化、自动化的重要代表,已经在多个领域展现出其独特的优势。从工业生产到特殊环境监测,巡检机器人以其高效、准确和安全的特性,逐渐取代了传统的人工巡检方式,极大地提升了巡检效…

spring boot(学习笔记第十八课)

spring boot(学习笔记第十八课) Spring boot的定时任务和Quartz 学习内容&#xff1a; Spring boot的定时任务Spring boot的Quartz 1. Spring boot的定时任务 定义定时任务 加入必要的依赖 <dependency><groupId>org.springframework.boot</groupId&g…

STM32 —— TIM(基本定时器)详解_stm32的tim

STM32 —— TIM&#xff08;基本定时器&#xff09;详解_stm32的tim 一、定时器简介 STM32F1 系列中&#xff0c;除了互联型的产品&#xff0c;共有 8 个定时器&#xff0c;分为基本定时器&#xff0c;通用定时器和高级定时器。基本定时器 TIM6 和 TIM7 是一个 16 位的只能向…

ID3算法详解:构建决策树的利器

目录 引言 ID3算法概述 算法基础 信息熵 ​编辑 信息增益 ID3算法步骤 决策树 概念: 核心&#xff1a; 节点 1. 根节点 2. 非叶子节点 3. 叶子节点 引言 在机器学习领域&#xff0c;决策树是一种非常流行的分类和回归方法。其中&#xff0c;ID3算法作为决策树算法…

干货分享 | TSMaster—RP1210模块使用指南

RP1210是由技术和维护委员会&#xff08;TMC&#xff09;编写的一种建议性实践。RP1210用于对重型车辆射频相关的&#xff08;主要针对&#xff09;电子控制单元&#xff08;ECU&#xff09;进行二次编程和分析。本文主要针对TSMaster—RP1210模块的操作进行详细介绍。 本文关…

【CANoe使用大全】——在线回放数据

&#x1f64b;‍♂️【CANoe使用大全】系列&#x1f481;‍♂️点击跳转 文章目录 1.概述2.创建回灌节点3.加载回灌数据 1.概述 在外面测试过程中经常会遇到一些故障场景&#xff0c;需要采集这些时刻的故障场景log&#xff0c; 回灌到程序中复现问题。 下面主要介绍数据的在…

【电子通识】IPC-A-610标准对产品的四种验收条件都是什么意思?

IPC-A-610标准对每个级别产品均给出四种验收条件&#xff1a;目标、可接受、缺陷或制程警示条件。 目标条件 是指近乎完美/首选的情形&#xff0c;然而这是一种理想而非总能达到的情形&#xff0c;且对于保证组件在使用环境下的可靠性并非必要的情形。 比如4.3.2节中连接器插针…

R8;RRRRRRRR;穿膜肽R8;八聚精氨酸;148796-86-5

【穿膜肽R8简介】 穿膜肽R8&#xff0c;也称为八聚精氨酸&#xff08;Octa-arginine&#xff09;&#xff0c;是一种由八个精氨酸残基组成的细胞穿透肽&#xff08;CPP&#xff09;。R8具有正电荷丰富的侧链&#xff0c;能够有效地与细胞膜上的负电荷相互作用&#xff0c;从而促…

优化电商客服满意度与复盘管理:AI质检技术的深度应用与策略

Hi~这里是ProXiao 文章参考&#xff1a;晓观点 《如何利用AI质检提升电商客服满意度&#xff0c;优化分析复盘管理环节&#xff1f;》 在当前电子商务迅猛发展的背景下&#xff0c;客户服务质量作为衡量店铺综合竞争力的重要指标之一&#xff0c;其优劣直接关联到服务类数据评分…