jenya7 0 25 ноября, 2019 Опубликовано 25 ноября, 2019 (изменено) · Жалоба 22 minutes ago, x893 said: Если самому - смотрите ioctl запросы, может и есть. Но не уверен. Или редактируйте драйвер. Или отключите SPI и дёргайте как обычными ногами. http://wiringpi.com/ спасибо а вот интересно - у меня в списке есть gpiochip0 - это значит я могу обращаться к пинам по тому же принципу как spidev? file = open( "/dev/ gpiochip0 " ,O_RDWR) Изменено 25 ноября, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 25 ноября, 2019 Опубликовано 25 ноября, 2019 · Жалоба 13 minutes ago, jenya7 said: а вот интересно - у меня в списке есть gpiochip0 - это значит я могу обращаться к пинам по тому же принципу как spidev? Да, принцип тот же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 25 ноября, 2019 Опубликовано 25 ноября, 2019 · Жалоба 2 minutes ago, aaarrr said: Да, принцип тот же. а есть какой нибудь пример как на spidev ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 34 25 ноября, 2019 Опубликовано 25 ноября, 2019 · Жалоба 1 hour ago, jenya7 said: а есть какой нибудь пример как на spidev ? 100500 на github. Подсказка - сверху на экране есть поиск. А гугле ещё 100500. Подсказка - после букв GOOGLE есть поиск. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба странно. все примеры отсылают к /sys/class/gpio/. причем если набираю ls /sys/class/gpio/ получаю export gpiochip0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба 1 hour ago, jenya7 said: странно. все примеры отсылают к /sys/class/gpio/ Примеры устарели. Это sysfs-интерфейс GPIO, он уже не актуален, хотя местами работает. Мурзилка с примерами по новому интерфейсу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба 30 minutes ago, aaarrr said: Примеры устарели. Это sysfs-интерфейс GPIO, он уже не актуален, хотя местами работает. Мурзилка с примерами по новому интерфейсу. спасибо. а как включить libgpiod в проект? кстати spidev работает. посмотрел на пинах - сигналы есть при посылке. спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба 23 minutes ago, jenya7 said: спасибо. а как включить libgpiod в проект? Указать пути к заголовочному файлу и библиотеке, затем #include <gpiod.h> - и вперед. Если прямо на малине собираете, то все совсем просто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба 31 minutes ago, aaarrr said: Указать пути к заголовочному файлу и библиотеке, затем #include <gpiod.h> - и вперед. Если прямо на малине собираете, то все совсем просто. спасибо. надо было установить libgpiod. у меня какя то проблема. проект видит библиотеку. #include <gpio.h> struct gpiod_chip *chip; int GPIO_Init() { chip = gpiod_chip_open("/dev/gpiochip0"); return 0; } но я получаю ошибку - undefined reference to 'gpiod_chip_open' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба В #include буковки одной не хватает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 26 ноября, 2019 Опубликовано 26 ноября, 2019 (изменено) · Жалоба 34 minutes ago, aaarrr said: В #include буковки одной не хватает. на самом деле #include <gpiod.h>. это я тут ошибся. такое ощущение что хидер он видит а сами сорсы не находит. если я навожу мышку на функцию то выскакивает интелисенс и показывает мне сигнатуру функции, значит она видна, почему тогда выскакивает ошибка непонятно. Изменено 26 ноября, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба "сорсов" там и нет - это библиотека. Реакция на мышку в вашей IDE есть по причине наличия хидера, и не более. Ищите, как сказать линкеру -lgpiod Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 26 ноября, 2019 Опубликовано 26 ноября, 2019 (изменено) · Жалоба 2 hours ago, aaarrr said: "сорсов" там и нет - это библиотека. Реакция на мышку в вашей IDE есть по причине наличия хидера, и не более. Ищите, как сказать линкеру -lgpiod да. нужно добавить в проект LIBS += -lgpiod а как мне знать какой номер номер пина соответствует физическому пину? line = gpiod_chip_get_line(chip, 3); 3 - это GPIO3 - pin 5 на разъеме P1 ? Изменено 26 ноября, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба 1 hour ago, jenya7 said: а как мне знать какой номер номер пина соответствует физическому пину? А вот это у всех SoC'ов на свой лад. Проверьте утилитами из комплекта libgpiod и осциллографом/вольтметром/светодиодом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 34 26 ноября, 2019 Опубликовано 26 ноября, 2019 · Жалоба Зря, конечно, гуру пренебрегают примерами программирования на RasPi от начинающих. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться