头文件检查了感觉没问题啊,不知道哪里出了问题
#include <REGX52.H>
#include "Timer0.h"
#include "Int0.h"
unsigned char State;
unsigned char Couter0;
unsigned char IR_Data[4];
unsigned char IR_pData;
unsigned char IR_Address;
unsigned char IR_Command;
unsigned char IR_RepeatFlag;
unsigned char IR_DatatFlag;
void IR_Init()
{
Timer0_Init();
Int0_Init ();
}
unsigned char IR_GetDatatFlag()
{
if(IR_DatatFlag)
{
return IR_GetDatatFlag;
IR_DatatFlag=0;
}
return IR_DatatFlag;
}
unsigned char IR_GetRepeatFlag()
{
if(IR_RepeatFlag)
{
return IR_RepeatFlag;
IR_RepeatFlag=0;
}
return IR_RepeatFlag;
}
unsigned char IR_GetAddress()
{
return IR_Address;
}
unsigned char IR_GetCommand()
{
return IR_Command;
}
void Int0_Routine() interrupt 0
{
if (State==0)
{
Timer0_SetCounter(0);
Timer0_Run(1);
State=1;
}
else if (State==1)
{
Couter0=Timer0_GetCounter();
if (Couter0>12442-500&&Couter0<12442+500)//start
{
State=2;
Timer0_SetCounter(0);
}
IR_RepeatFlag=0;
else if(Couter0>10368-500 && Couter0<10368+500)//repeat
{
IR_RepeatFlag=1;
State=0;
Timer0_Run(0);
}
else
{
State=1;
}
}
else if (State==2)
{
Couter0=Timer0_GetCounter();
if (Couter0>1032-500&&Couter0<1032+500) //数据为0
{
IR_Data[IR_pData/8]&=(0xFE<<(IR_pData%8));
IR_pData++;
Timer0_SetCounter(0);
}
else if(Couter0>2074-500&&Couter0<2074+500) //数据为1
{
IR_Data[IR_pData/8]|=(0x01<<(IR_pData%8));
IR_pData++;
Timer0_SetCounter(0);
}
else
{
State==0;
IR_pData=0;
}
if(IR_pData>=32)
{
IR_pData=0;
State=0;
Timer0_Run(0);
if(IR_Data[0]==~IR_Data[1]&&IR_Data[2]==~IR_Data[3])
{
IR_Address=IR_Data[0];
IR_Command=IR_Data[2];
IR_DatatFlag=1;
}
}
}
}
#ifndef __TIMER0_H__
#define __TIMER0_H__
void Timer0_Init(void);
unsigned char Timer0_GetCounter();
void Timer0_SetCounter(unsigned char Data);
void Timer0_Run(unsigned char RunState);
#endif
###### 运行结果及报错内容
IR.c(16): warning C206: 'Timer0_Init': missing function-prototype
IR.c(53): warning C206: 'Timer0_SetCounter': missing function-prototype
IR.c(53): error C267: 'Timer0_SetCounter': requires ANSI-style prototype
Timer0_Init、Timer0_SetCounter、Timer0_SetCounter这几个函数有没有实现?没实现的话会报错
实现函数的的文件需要包含 Timer0.h
117-120行四个函数在哪里实现的啊?