Является ли интерфейс устройства I2C потокобезопасным в Linux? [закрыто]Linux

Ответить
Anonymous
 Является ли интерфейс устройства I2C потокобезопасным в Linux? [закрыто]

Сообщение Anonymous »

У меня есть одноплатный компьютер с устройством расширения I2C GPIO, указанным как /dev/i2c-0. В моей многопоточной программе я открываю() это символьное устройство и читаю/пишу на него в отдельных потоках, используя i2c_smbus_write_byte_data и друзей из библиотеки libi2c, но я не уверен, что это потокобезопасно.
Я видел реализации драйвера GPIO в пространстве ядра, которые привязываются к символьному устройству I2C и позволяют взаимодействовать с устройством, как если бы оно было Устройство GPIO (драйвер pca953x), и у них есть внутренние мьютексы в каждой функции gpio_set/get. В другом вопросе люди говорят, что функции i2c_smbus_* имеют внутренние мьютексы, поэтому я не могу быть уверен.
Является ли этот вид одновременного доступа потокобезопасным?
void *thread_fn(void *arg){
int fd = *(int*)arg;
uint16_t d;
for(uint16_t i=0;i

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»