最近在做一个DA14583平台的项目,项目里用到了多个I2C设备,对于官方给的演示里面的函数i2c_eeprom_init只能初始化一个从设备的地址,对于多个I2C设备的地址该怎么初始化呢?这个初始化的函数应该放在哪一块?为了节省IO口,多个I2C设备能挂在同一条I2C总线上吗,就是只用两个IO映射SDA和sci,然后所有I2C设备都挂在这两个IO口上,还是必须用多个IO口,一个设备对应两个IO。在扩展睡眠模式下,使用app_easy_timer能够周期性依次读取I2C设备数据吗?
设备:
你好,
关于你的问题中,可以确定的是:
1.IIC总线上可以挂多个设备,然后通过不同的从机地址访问不同的设备。即可以将多个设备都接到两个IO口上。
2.app_easy_timer启动之后,可以将系统从休眠中唤醒并执行程序。需要注意的是,在定时器回调中不能有阻塞。
3.访问不同设备,给寄存器I2C_TAR_REG写不同的值即可。
您可以给一份da14580与多个I2C设备通信的例子吗
你好lisir,
//www.wsdof.com/雷电竞官网登录products/da14585-iot-multi-sensor-d..。
上面链接的物联网工程,是基于585年开发的。有多个IIC通讯的功能。
585年和580年芯片架构,SDK架构类似,所以这个工程也有比较大的参考价值
您好,继上次的问题,在初始化一个I2C设备后并使用SDK中的驱动函数对I2C设备进行了读写,I2C设备工作正常,但是再对下一个I2C设备进行初始化并读写时出现不能正常写入设备地址的现象,两个设备单独均可以使用SDK中的I2C驱动函数正常工作,在您的上次回答之中,您说对I2C_TAR_REG写入设备地址就能实现读写,但是这个设备地址根本写不对,不知道问题出在哪里。