====== 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++ скрипт
#include
#include
#include
#include
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'е...
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:pins1.jpg}}