LINUX.ORG.RU

Linux + i2c + много устройств

 ,


0

1

Доброго времени суток.

Есть у меня необходимость работать сразу с двумя устройствами, подключенными по i2c.

С i2c работаю примерно так:

if ((i2c = open("/dev/i2c-3", O_RDWR)) < 0)
{
    qDebug() << "i2c open error";
}
else
{
    qDebug() << "i2c open ok";

    if ((ioc = ioctl(i2c, I2C_SLAVE, 0x15)) < 0)
    {
        qDebug() << "i2c set addr error";
    }
    else
    {
    //Пишем, читаем, починяем примусы.
    }
}
}

Собственно как правильнее мне поступить - дергать все время ioctl и менять адрес или просто открыть мой /dev/i2c-3 одновременно несколько раз, как в коде ниже?

i2c_1 = open("/dev/i2c-3", O_RDWR);
ioc_1 = ioctl(i2c_1, I2C_SLAVE, 0x15);

i2c_2 = open("/dev/i2c-3", O_RDWR);
ioc_2 = ioctl(i2c_2, I2C_SLAVE, 0x16);

★★★★

Последнее исправление: RiseOfDeath (всего исправлений: 2)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.