再问下EEPROM的问题



再问下问题。IIC写at24C02,现在只能读写一页。读写多页老是写不对,望专家指点一二。下面是我写一页的部分代码。
#define SLAVE_ADDRESS 0x50

//
// 定义在AT24C02中读写的地址
//

#define WRITE_ADDRESS 0x40

//
// 定义读写的数目
//

#define WRITE_DATA_NUM 0x08
//
// 定义读写的数组
//
unsigned char ucDataTx[WRITE_DATA_NUM + 1];
。。。
主程序
//
// 指定从机地址
//
I2CMasterSlaveAddrSet(I2C1_MASTER_BASE, SLAVE_ADDRESS, 0);

//
// 发送子地址
//
I2CMasterDataPut(I2C1_MASTER_BASE, WRITE_ADDRESS);

//
// 发送数据命令
//
I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_START);

//
// 等待数据发送结束
//
while(I2CMasterBusy(I2C1_MASTER_BASE));

//
// 发送数据
//
for(ucIndex = 0; ucIndex < WRITE_DATA_NUM; ucIndex++){
//
// 将要发送的数据放到数据寄存器
//
I2CMasterDataPut(I2C1_MASTER_BASE, ucDataTx[ucIndex]);
//I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
//
// 发送数据命令
//
ucIndex == WRITE_DATA_NUM - 1 ?
I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_FINISH):
I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);


//
// 等待数据发送结束
//
while(I2CMasterBusy(I2C1_MASTER_BASE));
}