硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4567|回复: 3
收起左侧

[有问必答] 关于串口打印printf()的问题

[复制链接]

3

主题

5

回帖

14

积分

新手上路

积分
14
发表于 2018-3-16 00:04:52 | 显示全部楼层 |阅读模式
麻烦大神可以通俗解释分析一下printf()是如何重定义通过串口打印的,看了文档也看了很久程序就是看不懂。
在此希望大家可以为帮忙分析一下,谢谢

捕获.JPG
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-3-16 00:10:33 | 显示全部楼层
首先printf的实现代码里面会调用fputc。
------
简单的说是MDK的C库里面已经封装了fputc函数了,而如果用户定义了fputc的话,那么编译器将使用用户定义的fputc,因为MDK封装的是弱定义的fputc。
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2018-3-16 19:58:12 | 显示全部楼层
eric2013 发表于 2018-3-16 00:10
首先printf的实现代码里面会调用fputc。
------
简单的说是MDK的C库里面已经封装了fputc函数了,而如果用 ...

谢谢,版主
回复

使用道具 举报

86

主题

446

回帖

724

积分

金牌会员

积分
724
QQ
发表于 2020-4-30 22:38:33 | 显示全部楼层
fputc函数 要是不定义 勾选微库的情况下 调用printf 会直接死机 断点都没法打 ,编程的时候一定要注意了  这是个巨坑
武汉天纵鹏元科技有限公司。承接嵌入式项目开发,相关技术交流。STM32,物联网,工业控制方向。QQ  408137104
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 02:29 , Processed in 0.042399 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表