Страница 1 из 1

I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 11:22
sanya555
Всем привет. Виртурилка у меня около недели. Вот решил разобраться с шиной I2C. Собственно вопрос таков, я не знаю как из под линукса присоединить любой датчик. На вики прочитал что есть готовые дрова для определенных датчиков, но мне непонятно как подружить ее с каким небудь другим. Тоесть если в обычном контроллере все делалось настройкой регистров самого мк,организации на низком уровне, то тут я не знаю как это сделать. Потому прошу помощи у вас, если кому-то несложно, не могли бы вы мне помочь разобраться с этим всем?

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 11:26
phoenix367
Не совсем понятен вопрос. Вам нужно новый драйвер в ядро прикрутить или драйвера нет и нужно его написать или вы из юзер-мода хотите к датчику обращаться?

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 11:32
sanya555
По идеи нужно написать драйвер для общения с датчиком.

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 11:59
sanya555
Пошастал по github. Нашел это : https://github.com/virt2real/othersoft/ ... i2c_read.c. Я так понимаю это исходник драйвера под те датчики что описываются в вики. Если я все правильно понял, то нужно написать подобную вещь для своего, или дополнить этот файл, скомпилировать и зарегистрировать в системе? Я все правильно понял?

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 12:47
phoenix367
Лучше конечно драйвер написать. Но можно и из юзер-мода обращаться. В последнем случае вам нужно переписать пример, который вы привели - убрать лишние вызовы и добавить обращение к нужному устройству. Недостаток данного подхода - не может работать в реальном времени с текущей версией ядра, теряется некоторая универсальность, нет возможности заблокировать на уровне системы доступ к устройству из других процессов. Какой способ выбрать - зависит исключительно от ваших задач и потребностей.

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 13 фев 2014, 14:35
sanya555
Большое спасибо. На данном этапе я планирую сначало написать просто приложение на с++ чтоб потэстить шину. Дальше планирую драйвер написать. Но так как раньше я писал програмы либо на прикладном уровне либо на уровне регистров, то хочеться спросить не найдеться ли у вас ссылок или книг на эту тему? Буду очень благодарен.

Re: I2C-нужна помощь в освоении

СообщениеДобавлено: 14 фев 2014, 03:20
Gol
Вот я буквально недавно драйвер для i2c-шного чипа PWM писал (он на нашем моторшылде стоит, а готовые драйвера не устроили), можешь там посмотреть. https://github.com/virt2real/linux-davi ... r_extpwm.c

Именно ядерный драйвер (модуль), а не юзерспейсовое приложение.