请问:CH375B编译时报错:undefined symbol '_xReadCH375Cmd'

我的单片机是AVR MEGA16,开发环境为ICCAVR,用EXAM6的.C中的程序,连接库的方法是按照论坛上面提示的方法做的,结果编译时报错:undefined symbol '_xReadCH375Cmd'。 CH375HF.PDF中也没有找到要在外部实现xReadCH375Cmd的说明, 不知道这类信息在什么地方能找到

你要定义一下查询的中断引脚,例如: #define CH375_INT_WIRE ( PINB & 0x10 ) /* PINB.4, CH375的中断线INT#引脚,连接CH375的INT#引脚,用于查询中断状态 */ 否则的话要写读命令的函数. 你在程序中加上就可以了


CH375_INT_WIRE 已经定义过。 感觉问题出在“#define CH375HF_NO_CODE 1”上面: 在CH375HFB.H中定义过之后,undefined symbol '_xReadCH375Cmd'问题解决,但是又出现了 undefined symbol '_CH375LibInit'的错误 如果不定义 CH375HF_NO_CODE,又会重复定义; 定义CH375HF_NO_CODE,程序则只是声明函数,整个工程没有函数定义


有个例子程序: /bbs/View.asp?T=1&S=101&I=29331 请参考


用帖子上的办法我可以编译通过 我现在是多个源程序需要包含库的头文件 头文件中有这么一段话: /* 该头文件可以为CH375子程序库分配必要的I/O及内存资源,并产生必要的与硬件有关的目标代码, 如果该文件是被工程项目的多个源程序包含作为头文件,那么应该只允许一个头文件分配资源和产生代码, 除此之外的头文件应该被事先定义CH375HF_NO_CODE,从而禁止该头文件产生重复的目标代码,例如: #define CH375HF_NO_CODE 1 #include CH375HF?.H */ “除此之外的头文件应该被事先定义CH375HF_NO_CODE”应该怎么理解,怎么实现呢?


理解如下:如果库头文件被多个文件包含,那么除其中一个之外,其余文件包含头文件时,需要在#include CH375HF?.H之前定义:#define CH375HF_NO_CODE 1


只有登录才能回复,可以选择微信账号登录