Управляем чем угодно откуда угодно

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

Кто что сделал и кто что собирается делать

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

Сообщение sanya555 » 13 фев 2014, 11:22

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

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

Сообщение phoenix367 » 13 фев 2014, 11:26

Не совсем понятен вопрос. Вам нужно новый драйвер в ядро прикрутить или драйвера нет и нужно его написать или вы из юзер-мода хотите к датчику обращаться?
phoenix367
 
Сообщения: 193
Зарегистрирован: 09 сен 2013, 00:19

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

Сообщение sanya555 » 13 фев 2014, 11:32

По идеи нужно написать драйвер для общения с датчиком.
sanya555
 
Сообщения: 74
Зарегистрирован: 10 фев 2014, 13:20

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

Сообщение sanya555 » 13 фев 2014, 11:59

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

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

Сообщение phoenix367 » 13 фев 2014, 12:47

Лучше конечно драйвер написать. Но можно и из юзер-мода обращаться. В последнем случае вам нужно переписать пример, который вы привели - убрать лишние вызовы и добавить обращение к нужному устройству. Недостаток данного подхода - не может работать в реальном времени с текущей версией ядра, теряется некоторая универсальность, нет возможности заблокировать на уровне системы доступ к устройству из других процессов. Какой способ выбрать - зависит исключительно от ваших задач и потребностей.
phoenix367
 
Сообщения: 193
Зарегистрирован: 09 сен 2013, 00:19

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

Сообщение sanya555 » 13 фев 2014, 14:35

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

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

Сообщение Gol » 14 фев 2014, 03:20

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

Именно ядерный драйвер (модуль), а не юзерспейсовое приложение.
Аватара пользователя
Gol
 
Сообщения: 507
Зарегистрирован: 17 фев 2012, 01:44
Откуда: Тула-Свободный-Щёкино-Тула-Москва


Вернуться в Проекты на базе Виртурилки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron