I defined a function in file.c
#include file.h unsigned char IsOWKeyRight(const CARD_KEY *Key);
typedef struct{ unsigned char ID, unsigned char ExtID, unsigned char pwd }CARD_KEY;
extern unsigned char IsOWKeyRight(const CARD_KEY *Key);
Thank you very much, Mike! You reminded me! I included too many *.h files in a file ,so I ignored the sequence. Now it works well, thanks!