Автор Тема: Pulse counter  (Прочитано 1723 раз)

Оффлайн StaLeWaR

Pulse counter
« : Февраль 25, 2016, 12:06:23 pm »
Товарищи добрый день!
Нужной темы не нашел, решил разместить здесь.

Вообщем суть вопроса, как посчитать пульсы на gpio?
В библиотеке  WiringPi функционал в виде wiringPiISR не реализован.

Например посчитать количество нажатий на кнопку в течении минуты.

Оффлайн ua3nbw

  • Посвященный
  • ***
  • Сообщений: 142
  • Лайков: 65
  • Карма: +9/-0
  • Orange Pi PC
    • Просмотр профиля
Re: Pulse counter
« Ответ #1 : Февраль 25, 2016, 02:17:59 pm »
wiringPiISR  реализован https://github.com/WereCatf/WiringOP

Прерывания работают с зтой библеотекой на PA7,PA8,PA9,PPA10,PG6,PG8,

 мой тест с кнопкой на PA8 https://github.com/ua3nbw/gpiokey/blob/master/wpi.c 

Оффлайн StaLeWaR

Re: Pulse counter
« Ответ #2 : Февраль 25, 2016, 08:45:45 pm »
пробовал, но на бранче h3 не поехало
root@OrangePI:~/WiringOP_test/gpiokey# ./wpi
gpio: Unable to open GPIO export interface: No such file or directory
wiringPiISR: unable to open /sys/class/gpio/gpio8/value: No such file or directory

завтра попробуйю на бранче h3-next
Кстати откуда вы взяли информацию что именно на портах PA7,PA8,PA9,PPA10,PG6,PG8 ? буду любезен если ткнете носом  :D


Оффлайн ua3nbw

  • Посвященный
  • ***
  • Сообщений: 142
  • Лайков: 65
  • Карма: +9/-0
  • Orange Pi PC
    • Просмотр профиля
Re: Pulse counter
« Ответ #3 : Февраль 25, 2016, 09:45:58 pm »
пробовал, но на бранче h3 не поехало

завтра попробуйю на бранче h3-next
Кстати откуда вы взяли информацию что именно на портах PA7,PA8,PA9,PPA10,PG6,PG8 ? буду любезен если ткнете носом  :D

Проверил. У меня работает именно на этих портах.
удаляете WiringOP от zhaolei
ставите от WereCatf
git clone https://github.com/WereCatf/WiringOP.git -b h3
cd WiringOP
chmod +x ./build
sudo ./build
cd ..
git clone https://github.com/ua3nbw/gpiokey.git
cd gpiokey
gcc -o wpi wpi.c -lpthread -lwiringPi
./wpi &

При замыкании PA8 (31 контакт разъема) на землю сработает "systemctl suspend"

Оффлайн StaLeWaR

Re: Pulse counter
« Ответ #4 : Февраль 26, 2016, 07:24:35 am »
не взлетает  :(
root@OrangePI:~/WiringOP_test/gpiokey# ./wpi
gpio: Unable to open GPIO export interface: No such file or directory
wiringPiISR: unable to open /sys/class/gpio/gpio8/value: No such file or directory
root@OrangePI:~/WiringOP_test/gpiokey#
root@OrangePI:~/WiringOP_test/gpiokey# gpio readall
 +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |     |
 |     |     |    SDA.0 |      |   |  3 || 4  |   |      | 5V       |     |     |
 |     |     |    SCL.0 |      |   |  5 || 6  |   |      | 0v       |     |     |
 |   6 |   6 | IO6 PA06 | ALT3 | 0 |  7 || 8  |   |      | TxD3     |     |     |
 |     |     |       0v |      |   |  9 || 10 |   |      | RxD3     |     |     |
 |     |     |     RxD2 |      |   | 11 || 12 | 0 | ALT3 | IO1 PD14 | 1   | 110 |
 |     |     |     TxD2 |      |   | 13 || 14 |   |      | 0v       |     |     |
 |     |     |     CTS2 |      |   | 15 || 16 | 0 | ALT3 | IO4 PC04 | 4   | 68  |
 |     |     |     3.3v |      |   | 17 || 18 | 0 | ALT3 | IO5 PC07 | 5   | 71  |
 |     |     |     MOSI |      |   | 19 || 20 |   |      | 0v       |     |     |
 |     |     |     MISO |      |   | 21 || 22 |   |      | RTS2     |     |     |
 |     |     |     SCLK |      |   | 23 || 24 |   |      | SPI-CE0  |     |     |
 |     |     |       0v |      |   | 25 || 26 |   |      | CE1      |     |     |
 |     |     |    SDA.1 |      |   | 27 || 28 |   |      | SCL.1    |     |     |
 |   7 |   7 |  IO7 PA7 | ALT3 | 0 | 29 || 30 |   |      | 0v       |     |     |
 |   8 |   8 |  IO8 PA8 |   IN | 1 | 31 || 32 | 0 | ALT3 | IO9 PG08 | 9   | 200 |
 |   9 |  10 | IO10 PA9 | ALT3 | 0 | 33 || 34 |   |      | 0v       |     |     |
 |  10 |  12 | IO12PA10 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | IO13PG09 | 13  | 201 |
 |  20 |  14 | IO14PA20 | ALT3 | 0 | 37 || 38 | 0 | ALT3 | IO15PG06 | 15  | 198 |
 |     |     |       0v |      |   | 39 || 40 | 0 | ALT3 | IO16PG07 | 16  | 199 |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
root@OrangePI:~/WiringOP_test/gpiokey#

Незнаю на что и думать

Оффлайн ua3nbw

  • Посвященный
  • ***
  • Сообщений: 142
  • Лайков: 65
  • Карма: +9/-0
  • Orange Pi PC
    • Просмотр профиля
Re: Pulse counter
« Ответ #5 : Февраль 26, 2016, 01:05:46 pm »
 Точно, проверил на сборке от лобориса Debian_jessie_mini не работает.
видимо, я при сборке ядра включил какую-то опцию (надо вспоминать)
работаюшее ядро (uImage) и script.bin можно взять из этой сборки  http://orangepi.pp.ua/index.php/topic,173.msg2102.html#msg2102

Извините, вам запрещён просмотр содержимого спойлеров.

вспомнил, при сборке ядра надо включить

 --- GPIO Support                                                                 
       
  •    /sys/class/gpio/... (sysfs interface)

« Последнее редактирование: Февраль 26, 2016, 01:44:03 pm от ua3nbw »

Оффлайн StaLeWaR

Re: Pulse counter
« Ответ #6 : Февраль 26, 2016, 02:53:29 pm »
благодарю! :)
попробуемс запустить с нужным ядром.

Оффлайн janzoom

Re: Pulse counter
« Ответ #7 : Сентябрь 16, 2016, 02:19:41 pm »
благодарю! :)
попробуемс запустить с нужным ядром.

Хотелось бы узнать если получилось ?   
У меня OPI PC+ ,armbian (jessy),  WPI не срабатывает, а счетчик хотелось бы.

Вывод gpio readall такой (пробую на 7м) :
 
 

Оффлайн janzoom

Re: Pulse counter
« Ответ #8 : Сентябрь 16, 2016, 04:54:03 pm »
Сорри, всё гут. Взял не тот WiringOP.

Причем работает на всех РА*, PG*. На PC*, PD* - не работает.

В армбиане ничего не менял.
Картинка GPIO стала такой:

Спасибо за пост!