I2C

i2c读写fm24无数据

发布于 2019-07-23 10:59:09
1.i2c1总线写DA7571正常;

但是i2c2总线上挂的 FM24C64读写数据都不行,片子里面写的有数据,但是读出来确实0x00


static void i2c2_thread_entry(void* parameter)
{
rt_err_t i2c_Fm24 = RT_NULL;
rt_device_t i2c2_bus = RT_NULL;
rt_uint8_t buf[128] = {0};
struct fm24clxx_config *cfg;

i2c_Fm24 = fm24clxx_register("FM24C64", myI2C2_DEVICE_NAME, RT_NULL);
if(RT_EOK != i2c_Fm24)
{
rt_kprintf("register FM24C64 failed!\n");
return;
}
rt_kprintf("register FM24C64 OK!\n");

/* 查找I2C总线设备,获取I2C总线设备句柄 */
i2c2_bus = rt_device_find(myI2C2_DEVICE_NAME);


rt_kprintf("create i2c2_thread OK!\n");

while (1)
{
cfg->addr = FM24_ADDR >> 1;
cfg->flags = RT_I2C_RD;
cfg->size = 256;

fm24clxx_read(i2c2_bus, 0, &buf[0], 62);
rt_thread_delay(1000);
}
}


请高手指教

查看更多

关注者
0
被浏览
662
5 个回答
zhangjun
zhangjun 2019-07-23
1,注意iic设备地址是否正确。
2,用逻辑分析仪抓包。
chudy
chudy 2019-07-23
zhangjun 发表于 2019-7-23 11:55
1,注意iic设备地址是否正确。
2,用逻辑分析仪抓包。


地址没问题,已经处理了
天涯咫尺
天涯咫尺 2019-10-17
能否分享一下如何处理的?
ccxzjz
ccxzjz 2020-07-08

image.png
这里的flags什么作用呢

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览