works:programmer:cpp:rpigpio
Raspberry Pi - GPIO bcm2835.h
Скачивал с официального сайта https://www.airspayce.com/mikem/bcm2835/index.html и ставил по ихней-же инструкции…
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.59.tar.gz tar zxvf bcm2835-1.xx.tar.gz cd bcm2835-1.xx ./configure make sudo make check sudo make install
Далее создаём отдельную папку и пихаем в неё вот такой вот C++ скрипт
- gpioscr.cpp
#include <iostream> #include <chrono> #include <bcm2835.h> #include <unistd.h> using namespace std; // which GPIO17 #define PIN_01 RPI_GPIO_P1_11 // which GPIO4 #define PIN_02 RPI_GPIO_P1_07 int main(int, char**) { cout << "starting service..." << endl; // bcm2835_set_debug(1); if (!bcm2835_init()) { return 1; } bcm2835_gpio_fsel( PIN_02, BCM2835_GPIO_FSEL_OUTP); int t = 0; while (t++ < 1000) { usleep(50000L); bcm2835_gpio_write( PIN_02, HIGH); cout << "HIGH" << endl; usleep(50000L); bcm2835_gpio_write( PIN_02, LOW); cout << "LOW" << endl; } bcm2835_close(); return 0; }
Ну и конечно-же под него Makefile где первая строка `ECIPEPREFIX` это префикс блока в обычности это [TAB] но у меня 4 пробела. RPi я использую только через терминал и пишу в Vim'е…
- makefile
ECIPEPREFIX += all: gpioscr gpioscr: gpioscr.o g++ -std=c++11 gpioscr.o -o gpioscr -l bcm2835 gpioscr.o: g++ -Wall -c gpioscr.cpp clean: rm -rf *.o gpioscr
Далее подрубаем лампочку к (см. картинку), сохраняем файлы и пишем в консоли..
make clean make all ./gpioscr
И прёмся от быстро загорающейся лампочки…
works/programmer/cpp/rpigpio.txt · Последнее изменение: 2019/07/08 01:59 — 127.0.0.1