dsPIC33FJ读I2C EEPROM的问题

[复制链接]
304|10
 楼主 | 2019-1-10 10:54 | 显示全部楼层 |阅读模式
i2cData[0] = (SlaveAddress << 1) | 0;//器件地址+写
i2cData[1] = 0x00;//word addr
DataSz = 2;
StartI2C1();//Send the Start Bit
IdleI2C1();//Wait to complete
Index = 0;
while( DataSz )
{
        MasterWriteI2C1( i2cData[Index++] );
        IdleI2C1();                //Wait to complete
        DataSz--;
        if( I2C1STATbits.ACKSTAT )
                break;
}
RestartI2C1();        //Send the Restart condition
i2c_wait(10);
//wait for this bit to go back to zero
IdleI2C1();        //Wait to complete
MasterWriteI2C1( (SlaveAddress << 1) | 1 ); //transmit read command
IdleI2C1();                //可能死在这里
i2cbyte = MasterReadI2C1();        //读一个字节//可能死在这里
LATDbits.LATD0 = 0;//LED0
StopI2C1();        //Send the Stop condition
IdleI2C1();        //Wait to complete

printf("verify\n");
// verify write and read I2C EEPROM (single byte)
if( i2cbyte != 0xAC )
{
        while(1) //error: verify failed
        {
            if(TX_FLAG == 10)
            {
                TX_FLAG = 0;
                printf("verify failed!\n");
            }
        }
}

看不到读的SCL波形。。。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册
x
| 2019-1-10 16:24 | 显示全部楼层
一般IIC都是用IO口模拟的,很少用到硬件IIC,对这方面不是很熟。
 楼主 | 2019-1-10 16:28 | 显示全部楼层
dsdfdcdx 发表于 2019-1-10 16:24
一般IIC都是用IO口模拟的,很少用到硬件IIC,对这方面不是很熟。

刚玩这家的,发现这家公司啊。。。一个i2c能用的例程都看不到,底层函数我也还没找到。。。
难怪STM那么多人用。。。
| 2019-1-10 16:35 | 显示全部楼层
liubin1109 发表于 2019-1-10 16:28
刚玩这家的,发现这家公司啊。。。一个i2c能用的例程都看不到,底层函数我也还没找到。。。
难怪STM那么 ...

这个应该可以去他们官网找库函数。因为我用的是模拟IIC,所以对这方面的资料不是很清楚。
| 2019-1-10 17:04 | 显示全部楼层
如果是硬件I2C,没看到你I2C初使化部分。
另外,你要注意:MCHP的GPIO在配置时,如果使用数字输入,一定要把这个GPIO的模拟功能关掉。
| 2019-1-10 17:35 | 显示全部楼层
liubin1109 发表于 2019-1-10 16:28
刚玩这家的,发现这家公司啊。。。一个i2c能用的例程都看不到,底层函数我也还没找到。。。
难怪STM那么 ...

stm的i2c不是经典笑话么
 楼主 | 2019-1-10 18:32 | 显示全部楼层
淘猫汤姆 发表于 2019-1-10 17:35
stm的i2c不是经典笑话么

我说的是STM的资料丰富,轻轻松松就上手,
| 2019-1-15 11:55 | 显示全部楼层
AN:
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en528266
| 2019-1-16 21:28 | 显示全部楼层
还没有使用MCC么,尝试一下MCC插件吧。图形化配置,快速搭建底层驱动。
| 2019-1-16 21:31 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册
x
| 2019-1-17 11:36 | 显示全部楼层
IIC关键点就是时钟时序问题。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册
本版积分规则
我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

快速回复 返回顶部 返回列表