dsPIC33FJ读I2C EEPROM的问题

[复制链接]
1861|11
手机看帖
扫描二维码
随时随地手机跟帖
liubin1109|  楼主 | 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");
            }
        }
}
QQ截图20190110104023.jpg
看不到读的SCL波形。。。


dsdfdcdx| | 2019-1-10 16:24 | 显示全部楼层
一般IIC都是用IO口模拟的,很少用到硬件IIC,对这方面不是很熟。

使用特权

评论回复
liubin1109|  楼主 | 2019-1-10 16:28 | 显示全部楼层
dsdfdcdx 发表于 2019-1-10 16:24
一般IIC都是用IO口模拟的,很少用到硬件IIC,对这方面不是很熟。

刚玩这家的,发现这家公司啊。。。一个i2c能用的例程都看不到,底层函数我也还没找到。。。
难怪STM那么多人用。。。

使用特权

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

这个应该可以去他们官网找库函数。因为我用的是模拟IIC,所以对这方面的资料不是很清楚。

使用特权

评论回复
yqdeso| | 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不是经典笑话么

使用特权

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

我说的是STM的资料丰富,轻轻松松就上手,

使用特权

评论回复
systemchip| | 2019-1-15 11:55 | 显示全部楼层
AN:
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en528266

使用特权

评论回复
PICfan007| | 2019-1-16 21:28 | 显示全部楼层
还没有使用MCC么,尝试一下MCC插件吧。图形化配置,快速搭建底层驱动。

使用特权

评论回复
PICfan007| | 2019-1-16 21:31 | 显示全部楼层
604385c3f324086a46.png

使用特权

评论回复
tytgtrt5| | 2019-1-17 11:36 | 显示全部楼层
IIC关键点就是时钟时序问题。

使用特权

评论回复
2zwm| | 2019-4-30 15:57 | 显示全部楼层
大家需要国产的EEPROM可以看我头像联系

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:116209137,TP,触摸,电源,逆变。

251

主题

323

帖子

2

粉丝