Перейти к содержанию
    

22 minutes ago, x893 said:

Если самому - смотрите ioctl запросы, может и есть. Но не уверен.

Или редактируйте драйвер.

Или отключите SPI и дёргайте как обычными ногами.

 

http://wiringpi.com/

спасибо

 

а вот интересно - у меня в списке есть gpiochip0 - это значит я могу обращаться к пинам по тому же принципу как spidev? file = open( "/dev/ gpiochip0 " ,O_RDWR)

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, jenya7 said:

а вот интересно - у меня в списке есть gpiochip0 - это значит я могу обращаться к пинам по тому же принципу как spidev?

Да, принцип тот же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jenya7 said:

а есть какой нибудь пример как на spidev ?

100500 на github. Подсказка - сверху на экране есть поиск.

А гугле ещё 100500. Подсказка - после букв GOOGLE есть поиск.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странно. все примеры отсылают к  /sys/class/gpio/.

причем если набираю  ls /sys/class/gpio/  получаю export  gpiochip0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jenya7 said:

странно. все примеры отсылают к  /sys/class/gpio/

Примеры устарели. Это sysfs-интерфейс GPIO, он уже не актуален, хотя местами работает.

 

Мурзилка с примерами по новому интерфейсу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 minutes ago, aaarrr said:

Примеры устарели. Это sysfs-интерфейс GPIO, он уже не актуален, хотя местами работает.

 

Мурзилка с примерами по новому интерфейсу.

спасибо. а как включить libgpiod в проект?

кстати spidev работает. посмотрел на пинах - сигналы есть при посылке. спасибо.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 minutes ago, jenya7 said:

спасибо. а как включить libgpiod в проект?

Указать пути к заголовочному файлу и библиотеке, затем #include <gpiod.h> - и вперед.

Если прямо на малине собираете, то  все совсем просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 minutes ago, aaarrr said:

В #include буковки одной не хватает.

на самом деле #include <gpiod.h>. это я тут ошибся. такое ощущение что хидер он видит а сами сорсы не находит.

если я навожу мышку на функцию то выскакивает интелисенс и показывает мне сигнатуру функции, значит она видна, почему тогда выскакивает ошибка непонятно.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"сорсов" там и нет - это библиотека. Реакция на мышку в вашей IDE есть по причине наличия хидера, и не более.

Ищите, как сказать линкеру -lgpiod

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, aaarrr said:

"сорсов" там и нет - это библиотека. Реакция на мышку в вашей IDE есть по причине наличия хидера, и не более.

Ищите, как сказать линкеру -lgpiod

да. нужно добавить в проект LIBS += -lgpiod

 

а как мне знать какой номер номер пина соответствует физическому пину?

 

line = gpiod_chip_get_line(chip, 3);

 

3 - это GPIO3 - pin 5 на разъеме P1 ?
 

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jenya7 said:

а как мне знать какой номер номер пина соответствует физическому пину?

А вот это у всех SoC'ов на свой лад. Проверьте утилитами из комплекта libgpiod и осциллографом/вольтметром/светодиодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зря, конечно, гуру пренебрегают примерами программирования на RasPi от начинающих.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...