Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Блоги сообщества Raspberry Pi
  3. GPIO для чайников (Часть 2)

GPIO для чайников (Часть 2)

Запланировано Прикреплена Закрыта Перенесена Блоги сообщества Raspberry Pi
14 Сообщения 2 Posters 863 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано pi
    #4

    У меня такой вопрос, в RPi версии rev.V2
    не работает вот это: bcm2835_gpio_pud(PIN_IN, 1);
    на этой строчке компилятор останавливается и рукается, что слишком много параметров.

    Немного залез в мануалы, глянул там такие команды как:

    bcm2835_gpio_pudclc
    bcm2835_gpio_set_pud
    

    Может как-то через гих реализовать?

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

      Небольшая поправка:
      "Компилируем и запускаем:
      gcc -o button button.c -lrt -lbcm283"
      Нужно:

      gcc -o button button.c -lrt -lbcm2835
      
      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #6

        Просто удалите. Автор писал.

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

          Для RPI rev.V2 вместо строчки
          bcm2835_gpio_pud(PIN_IN, 1);
          нужно написать
          bcm2835_gpio_set_pud(PIN_IN, BCM2835_GPIO_PUD_DOWN);

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

            Еще до того как увидел данную статью поигрался с бесконечным циклом и разным временем работы светодиода. Как будто мысли ваши читал.

            Почему-то программа с кнопкой у меня не компилируется. Пробовал так как тут и с исправленными пинами и для второй и для первой ревизии. И библиотеку уже установил старую - 1.17, а до этого была самая новая, думал в этом дело... и компилировать пробовал по разному... никак не хочет... не пойму в чем дело...

            Вот такие ошибки:

            button.c: In function ‘main’:
            button.c:23:23: error: ‘RPI_V2_GPIO_P1_06’ undeclared (first use in this function)
            button.c:23:23: note: each undeclared identifier is reported only once for each function it appears in
            button.c:24:5: error: too many arguments to function ‘bcm2835_gpio_pud’
            /usr/local/include/bcm2835.h:723:17: note: declared here
            button.c:38:5: error: too many arguments to function ‘bcm2835_gpio_pud’
            /usr/local/include/bcm2835.h:723:17: note: declared here
            
            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано pi
              #9

              Вот такие ошибки:
              button.c: In function ‘main’:

              В начале кода:
              #include <bcm2835.h>
              #include <stdio.h>
              Например для ошибки button.c:23:23 можно так для :

              #define PIN RPI_V2_GPIO_P1_06

              для button.c:24:5:

              ругается что много аргументов которые заданы в скобках () после -- bcm2835_gpio_pud

              надо было их здесь олицетворить...
              но наверное должно быть что-то типа этого:

              bcm2835_gpio_set_pud(PIN, BCM2835_GPIO_PUD_UP)

              В скобках 2 аргумента, это PIN задефайнен см. вверху и макрос BCM2835_GPIO_PUD_UP для Pull-up/down resistor....

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

                Использование bcm2835_gpio_set_pud() выдавало сообщение: ошибка сегментации. В итоге в схему добавил подтягивающий резистор на 10к, как и говорил Александр Антонович. Все заработало. Работаю на RaspberryPi 3.

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

                  Всем привет.
                  есть raspberry pi3 нужно собрать монтажную плату и подключить пару кнопок.
                  за вознаграждение.
                  пишите если у кого есть желание.

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

                    Подскажите как будет выглядеть подключение если кнопка будет иметь внешнее питание 3,3в, а не внутреннее. Например батарейка. Как в таком случае считать сигнал нажатия?

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

                      Кнопка в принципе не имет питания. Она механически замыкает/размыкает цепь

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

                        Ок, я не много не так выразился. Есть два провода(с внешнего устройства) плюс и минус. Как мне с них снять сигнал? То-есть там либо есть ток, либо нету. По сути таже кнопка, только питание идет не с пина gpio.

                        1 ответ Последний ответ
                        0
                        • R RomanNV5 сослался на эту тему в

                        • Войти

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

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