Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Разработка
  3. С/C++/Qt
  4. Программирование GPIO: пара вопросов.

Программирование GPIO: пара вопросов.

Запланировано Прикреплена Закрыта Перенесена С/C++/Qt
11 Сообщения 2 Posters 92 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано pi
    #2

    wiringPi неплохая либа для работы с GPIO, я использую её
    pigpio немного сложнее, но и возможностей там больше (хотя большинству разработчиков хватит и wiringPi)
    Есть ещё пайтоновская либа Rpi.GPIO - https://pypi.org/project/RPi.GPIO/

    Программный i2c - https://electronicayciencia.github.io/wPi_soft_i2c/
    Насчёт программного UART'а в pigpio есть функция, которая открывает произвольный порт user_gpio для чтения последовательных данных (используется технология Bit-banging)

    bb_serial_read_open(user_gpio, baud, bb_bits)
    
    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #3

      cook, спасибо за подсказки! Посмотрю.

      А эти либы все к GTK прикручиваются, не знаешь?

      Программный I2C - мысль хорошая, спасибо, можно навесить несколько слейвов... 🚎

      С наступившими праздниками всех! 🙂

      1 ответ Последний ответ
      0
      • P Не в сети
        P Не в сети
        Paccmpura
        написал в отредактировано pi
        #4

        Программный I2C ...

        Кстати, а аппаратный I2C вроде ничем на малинке не занят? То есть, его можно (в отличие от аппаратного UART'а) использовать ни с чем не кнфликтуя?

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано pi
          #5

          @cook#6018 Есть ещё пайтоновская либа Rpi.GPIO - ...
          Программный i2c - ...

          Эх, не подошли они... 😞
          Питоновская не подойдёт, потому, что питоновская, а программный I2C не подойдёт из-за того, что он - "implementation of the I2C protocol using WiringPi library", а WiringPi уже не поддерживается... 😞

          А жаль...

          В bcm2835 есть функции работы с аппаратным I2C, может начать с этой либы? Если конечно этот интерфейс не занят чем-то системным... Кто что скажет на этот счёт? Я только про аппаратный UART такое читал...

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано pi
            #6

            @Paccmpura#6031 Кстати, а аппаратный I2C вроде ничем на малинке не занят? То есть, его можно (в отличие от аппаратного UART'а) использовать ни с чем не кнфликтуя?

            Да

            @Paccmpura#6032 а WiringPi уже не поддерживается..

            Ну и что?

            @Paccmpura#6032 В bcm2835 есть функции работы с аппаратным I2C, может начать с этой либы?

            Я для i2c пользуюсь i2ctools. Т.е прям из своей программы запускаю i2cset с нужными параметрами без подключения библиотек.
            Может это через жопу, но зато быстро и надёжно

            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано pi
              #7

              @cook#6033 cook: а WiringPi уже не поддерживается..
              Ну и что?

              Да, некузяво это как-то. Вот скажем, захочу я перенести всё это хозяйство на четвёртую малинку (или на пятую) а там WiringPi работать не захочет, что тогда? Т.е., либо придется брать поддержку этой либы на себя, а мне это совсем некстати - и без неё есть чем заняться, либо перетачивать весь код, заточенный под WiringPi, под другую либу. Очень похоже на заблаговременную постановку граблей... но себе-то зачем? :о)))

              @cook#6033 cook: зато быстро и надёжно

              Насчёт "быстро" - это в плане времени на программирование? Наверное, однако, врядли время реакции меня устроит. Обмен, как сейчас представляется, д.б. быстрым, иначе NACK'и могу посыпаться...

              Ладно, пока почитаю доки на PiGPIO bcm2835, и если за это время других вариантов не наклюнется, то на них и проверю, что да как.

              Спасибо! 🙂

              1 ответ Последний ответ
              0
              • piP Не в сети
                piP Не в сети
                pi
                написал в отредактировано pi
                #8

                @Paccmpura#6032 а WiringPi уже не поддерживается...

                Официальный разработчик забил на либу, но энтузиасты продолжают её пилить
                https://github.com/WiringPi/WiringPi
                В репозитории последний коммит 20 дней назад

                1 ответ Последний ответ
                0
                • piP Не в сети
                  piP Не в сети
                  pi
                  написал в отредактировано pi
                  #9

                  @nbo#6040 энтузиасты продолжают её пилить

                  Спасибо, я в курсе. Даже скачал штук 8-10 форков/копий/клонов.
                  Однако, уже само их количество вызывает определенный скепсис.
                  Есть интересный момент - WiringPi, если я правильно понял, вошла в дистрибутив Raspbian Buster! Я его еще не устанавливал, но если это окажется правдой, то тогда на ближайшие три-четыре года связность этого кода с ОСью гарантирована именно этим фактом.
                  Кстати, кто-то уже работал с Buster'ом, может подтвердить моё предположение? Ну, или опровергнуть...?

                  1 ответ Последний ответ
                  0
                  • piP Не в сети
                    piP Не в сети
                    pi
                    написал в отредактировано pi
                    #10

                    Доброго времени.
                    Вопрос собственно, как в начале темы, однако грабли, бубны и танцы осваиваю сам.
                    Не получается запустить скомпилировать прогрммку. Помогите дельным советом.
                    Малинку Pi3 осваиваю 3й день. На карте с ней была ОС от Амперки. В ней нашел Geany.
                    Стал писать на Си. Хело ворлд работает.
                    При компиляции с WiringPi компилируется без ошибки, а вот собирается с ошибкой. В папках с Либами, WiringPi присутствует.
                    Пример из инета:

                    #include <wiringPi.h>
                    #include <stdio.h>
                    int main(void)
                    {
                    printf("Start");
                    wiringPiSetup ();
                    pinMode (0, OUTPUT);
                    digitalWrite(0, HIGH);
                    delay (500);
                    digitalWrite(0, LOW);
                    delay (500);
                    return 0;
                    }
                    

                    Описание

                    Так же пробовал <bcm2835.h>, тоже самое, компилируется, не собирается.
                    Что я делаю не так?

                    1 ответ Последний ответ
                    0
                    • piP Не в сети
                      piP Не в сети
                      pi
                      написал в отредактировано pi
                      #11

                      что-то с библиотекой wiringPi. Либо компилятор её не видит, либо она косячная

                      1. Команда
                      ldconfig -p | grep "wiring"
                      

                      что выдаёт?
                      2. Попробуй скомпилировать из консоли

                      gcc -Wall -o /путь_до_Test2/Test2 /путь_до-исходника/Test2.c -lwiringPi
                      
                      1 ответ Последний ответ
                      0

                      • Войти

                      • Нет учётной записи? Зарегистрироваться

                      • Login or register to search.
                      • Первое сообщение
                        Последнее сообщение
                      0
                      • Категории
                      • Главная
                      • Документация
                      • Последние
                      • Пользователи