OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2265|回复: 2

关于printf()函数定义文件

[复制链接]

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2016-11-7
在线时间
15 小时
发表于 2017-7-19 19:46:53 | 显示全部楼层 |阅读模式
为什么无法用mdk打开printf()函数的定义文件?显示undefined Definition/Reference?既然可以运行,那么说明MDK一定编译了printf()函数所在的文件,为什么在工程里智能找到它的头文件而找不到定义文件?我想看它的定义是想知道具体怎么用它来输出数据到串口。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-7-19 20:42:47 | 显示全部楼层
printf()函数是C库里面的函数,在MDK中你只能使用,找不到源码,所以你go to define找不到!memset,memcpy,sprintf等等这些C库函数,你都试一下,全部都找不到
回复 支持 1 反对 0

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2017-7-19 21:07:35 | 显示全部楼层
[mw_shl_code=applescript,true]u8 _IDATA PrintfBuf[64];
#define DbgSendByte(m) Uart0Send(m)

u8 debug_printf(char *format,...)
{
        u8 length = 0,i = 0;

        va_list arg_ptr;

        va_start (arg_ptr, format);           /* format string */
        vsprintf (PrintfBuf, format, arg_ptr);
        va_end (arg_ptr);
        length = strlen(PrintfBuf);
        for(i=0;i<length;i++)
                DbgSendByte(PrintfBuf);

        return length;
}[/mw_shl_code]

这是我串口调试定义的打印函数,功能跟printf是一样使用的,可以参考下
让我们的思维驾驭在电的速度之上!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-6 12:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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