longlr 发表于 2009-6-20 23:09:50

请教马老师,使用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);

yersen 发表于 2009-6-25 14:22:43

要沉了,顶一顶~~

embedded_chips 发表于 2011-8-9 17:23:22

我现在也在研究LPC1114 的i2c读写貌似arm跟51不一样我是菜鸟搞的我很囧
页: [1]
查看完整版本: 请教马老师,使用I2C读写24C04与PCF8563的问题