打印

使用FatFS总是提示应用函数没有定义

[复制链接]
1942|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aoshi0603|  楼主 | 2011-8-4 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序:f_putc(*data, &file);
编译错误:
Error[Li005]: no definition for "f_putc" [referenced from D:\IAR ARM Prj\Particulate Matter Analyzer\EWARMv5\STM3210E-EVAL\Obj\main.o]
函数原型:
int f_putc (TCHAR, FIL*);     /* Put a character to the file */
该函数已经在ff.c中实现,并在ff.h是志明过了

相关帖子

沙发
delin17| | 2011-8-6 12:31 | 只看该作者
应该是没定议,或者C文没包含进工程

使用特权

评论回复
板凳
delin17| | 2011-8-6 12:32 | 只看该作者
贴下代码,说不定你可能只是声明了一下

使用特权

评论回复
地板
aoshi0603|  楼主 | 2011-8-10 09:26 | 只看该作者
找到原因了,是宏定义配置为1或2就行了:
#define        _USE_STRFUNC        1        /* 0:Disable or 1/2:Enable */

起初也注意到这个问题了, 所以留心函数int f_putc (TCHAR, FIL*); 的前面宏条件了:
#if !_FS_READONLY
#include <stdarg.h>
/*-----------------------------------------------------------------------*/
/* Put a character to the file                                           */
/*-----------------------------------------------------------------------*/
int f_putc (
        TCHAR c,        /* A character to be output */
        FIL* fil        /* Pointer to the file object */
)

只是前面这个宏条和函数int f_putc()是嵌在上面宏_USE_STRFUNC里的,结果是宏条件编译里又嵌宏条件编译,当时没找到原因.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

113

帖子

3

粉丝