本帖最后由 lu50211 于 2014-7-3 14:20 编辑
void write_twobyte(uint addr,uint datt)
{ uchar a,b;
a=(datt/256);
Write_Byte_24C(addr,a);;;;;;;;
Write_Byte_24C(addr+1,datt);;;;;;
}
楼主,是你写入的数据有误,你看这句:Write_Byte_24C(addr+1,datt);;;;;;
这是写datt数据,16位,而C02不支持16位。改成如下应该就可以了。
void write_twobyte(uint addr,uint datt)
{ uchar a,b;
a=(datt/256); //拆分数据高8位
b=(datt%256); //拆分数据低8位
Write_Byte_24C(addr,a);;;;;;;;//写高位数据
Write_Byte_24C(addr+1,b);;;;;;//写低位数据
}
|