Jump to content

    
Sign in to follow this  
jenya7

Работа с YOCTO

Recommended Posts

22 minutes ago, x893 said:

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

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

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

 

http://wiringpi.com/

спасибо

 

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

Edited by jenya7

Share this post


Link to post
Share on other sites
13 minutes ago, jenya7 said:

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

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

Share this post


Link to post
Share on other sites
1 hour ago, jenya7 said:

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

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

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

Share this post


Link to post
Share on other sites
1 hour ago, jenya7 said:

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

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

 

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

Share this post


Link to post
Share on other sites
30 minutes ago, aaarrr said:

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

 

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

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

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

Share this post


Link to post
Share on other sites
23 minutes ago, jenya7 said:

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

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

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

Share this post


Link to post
Share on other sites
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'

Share this post


Link to post
Share on other sites
34 minutes ago, aaarrr said:

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

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

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

Edited by jenya7

Share this post


Link to post
Share on other sites
2 hours ago, aaarrr said:

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

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

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

 

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

 

line = gpiod_chip_get_line(chip, 3);

 

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

Edited by jenya7

Share this post


Link to post
Share on other sites
1 hour ago, jenya7 said:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this