明明定义了,还是报错没定义

问题遇到的现象和发生背景
#include "LCD1602.h"
#include <REGX52.H>
#include "I2C.h"
#define AT24C02_Address 0xa0

void AT24C02_WriteByte(unsigned char WordAddress ,Date)
{    
    LCD_Init();
unsigned char Ack;
    I2C_Start();
    I2C_SendByte(AT24C02_Address);
    Ack=ReceiveAck();
    if(Ack==0)LCD_ShowString(1,1,"c");
}
unsigned char AT24C02_ReadByte(unsigned char WordAddress)
{
    unsigned char Data;
        
    return Data;
}

用代码块功能插入代码,请勿粘贴截图

不知道怎么搞的。明明定义了,还是报错没定义

运行结果及报错内容

AT24C02.c(9): error C141: syntax error near 'unsigned'
AT24C02.c(9): error C202: 'Ack': undefined identifier
AT24C02.c(12): error C202: 'Ack': undefined identifier
AT24C02.c(13): error C202: 'Ack': undefined identifier
AT24C02.c - 4 Error(s), 0 Warning(s).

我的解答思路和尝试过的方法
我想要达到的结果

没事