请教马老师,使用I2C读写24C04与PCF8563的问题
马老师,之前我使用汇编写程序,现刚开始用C,参考你《AVR 单片机嵌入式系统原理与应用实践》这样本书中16-4的例子,操作24C04与PCF8563时,读写24C04都没有问题,写入PCF8563也没有问题,但是读PCF8563不能正确读出(用C写入,用汇编读出),望各位指导。这个我整了三天了,还是整不出来,特请教各位!
void EEprom_read(unsigned int LCD_BUS_ADDRESS,unsigned int Addr,unsigned char n, unsigned char *arr)
{
unsigned char i;
I2C_start(); // 发起始信号
I2C_write(LCD_BUS_ADDRESS); // 发写从机写寻址字节
// I2C_write(Addr>>8); // 发存储单元地址高字节(读写程序的高字节都不要了,)
I2C_write(Addr); // 发存储单元地址低字节
I2C_start(); // 发起始信号
I2C_write(LCD_BUS_ADDRESS | 1); // 发从机读寻址字节
for (i=1;i<=n-1;i++)
{
*arr = I2C_read(1); // 读一个字节数据,返回ACK
arr++;
}
*arr=I2C_read(0); // 读最后一个字节数据,返回NO ACK
I2C_stop(); // 发停止信号
}
;读PCF8563的数据到time_data
EEprom_read(0xa3,0,15,time_data); 要沉了,顶一顶~~ 我现在也在研究LPC1114 的i2c读写貌似arm跟51不一样我是菜鸟搞的我很囧
页:
[1]