你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

自定义函数,替代printf函数

[复制链接]
lusonghua 发布时间:2015-7-13 17:29
阅读主题, 点击返回1楼
收藏 1 评论20 发布时间:2015-7-13 17:29
20个回答
Tension 回答时间:2015-7-15 11:59:16
之前用SWD调试时,用printf()得比较多,现在已经转到更快的方式了。
不撸僧 回答时间:2015-7-15 14:13:20
一直用printf 挺好用的 还没发现问题
yanhaijian 回答时间:2015-7-15 15:59:39
只要对fputc、fgetc这两个函数进行重定义就可以了。
gavinliang 回答时间:2017-4-5 13:57:42
一直在使用printf()函数,没发现有什么问题,只是编译时,占比较多空间,这是最不好的。
嘉木香 回答时间:2017-4-5 16:06:10
老师教的串口调试的用法:
前提:STDIO.H,自建的发送字符串函数;
使用方式:
步骤:1.调用sprintf()函数,此函数用法与printf()基本一致,两者输出不同,Printf()函数直接硬件输出,sprintf()输出到其形参字符串中;
2.输出sprintf()中的形参字符串;
附STDIO.H中printf(),sprint()的定义,区别之处以加粗倾倒发红
extern int printf   (const char *, ...);
extern int sprintf  (char *, const char *, ...);

嘉木香 回答时间:2017-4-5 16:09:05
补充一下,这个方法比重定向更为方便,而且不受输出数量限制;相比较自己编写而言,又极大化的利用了标准库,个人及其喜欢。
嘉木香 回答时间:2017-4-5 16:10:44
再补充一下,刚才发现,这是挖坟贴,填土,此贴终结、
gavinliang 回答时间:2017-4-5 16:31:35
这个详细怎么做?能否介绍 一下。或者贴上你写的详细函数看看,谢谢
gavinliang 回答时间:2017-4-5 16:32:28
void cli_echo(const char* fmt, ...)
{
static char sz[1024] = { 0, };
/* 组合使用可变参数以及vsprintf,实现printf */
va_list ap;

va_start(ap, fmt);
vsprintf(sz, fmt, ap);
cli_puts(sz);
va_end(ap);
}

这个没看明白。知道是格式组合,但具体 每一个函数怎么实现的?
gavinliang 回答时间:2017-4-5 16:58:07
嘉木香 发表于 2017-4-5 16:10
再补充一下,刚才发现,这是挖坟贴,填土,此贴终结、

死吧。。

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版