percu Posted August 4, 2020 Posted August 4, 2020 Hi all! I try to run ./demo file, that must make diode blinks on 4 pin. But nothing happens... It finds correct board name (Running on a Orange Pi One), but blinking doesn't works. I also try simple c++ program: Spoiler #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> #include <unistd.h> #include <time.h> extern "C" { #include <armbianio.h> } int main(int argc, char **argv) { int i, rc; const char *szBoardName; // Initialize the library rc = AIOInit(); if (rc == 0) { printf("Problem initializing ArmbianIO library\n"); return 0; } szBoardName = AIOGetBoardName(); printf("Running on a %s\n", szBoardName); if (AIOHasButton()) printf("Attempting to blink an LED on pin 4\n"); AIOAddGPIO(4, GPIO_OUT); for (i=0; i<10; i++) { AIOWriteGPIO(4, 1); usleep(500000); AIOWriteGPIO(4, 0); usleep(500000); } return 0; } Builded without any errors, but blinking doesn't work. It is very strange, because MAX7219 lib, that I also use in my c++ program works fine. But MAX7219 lib uses ArmbianIO lib! What's wrong? Any ideas? This is my output "gpio readall": Spoiler +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+ | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO | +------+-----+----------+------+---+----++----+---+------+----------+-----+------+ | | | 3.3V | | | 1 || 2 | | | 5V | | | | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | | | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | | | 6 | 2 | PA6 | OFF | 0 | 7 || 8 | 0 | OFF | TXD.3 | 3 | 13 | | | | GND | | | 9 || 10 | 0 | OFF | RXD.3 | 4 | 14 | | 1 | 5 | RXD.2 | OFF | 0 | 11 || 12 | 0 | OFF | PD14 | 6 | 110 | | 0 | 7 | TXD.2 | OFF | 0 | 13 || 14 | | | GND | | | | 3 | 8 | CTS.2 | OFF | 0 | 15 || 16 | 0 | OFF | PC04 | 9 | 68 | | | | 3.3V | | | 17 || 18 | 0 | OFF | PC07 | 10 | 71 | | 64 | 11 | MOSI.0 | ALT3 | 0 | 19 || 20 | | | GND | | | | 65 | 12 | MISO.0 | ALT3 | 0 | 21 || 22 | 0 | OFF | RTS.2 | 13 | 2 | | 66 | 14 | SCLK.0 | ALT3 | 0 | 23 || 24 | 0 | ALT3 | CE.0 | 15 | 67 | | | | GND | | | 25 || 26 | 0 | OFF | PA21 | 16 | 21 | | 19 | 17 | SDA.1 | OFF | 0 | 27 || 28 | 0 | OFF | SCL.1 | 18 | 18 | | 7 | 19 | PA07 | OFF | 0 | 29 || 30 | | | GND | | | | 8 | 20 | PA08 | OFF | 0 | 31 || 32 | 0 | OFF | RTS.1 | 21 | 200 | | 9 | 22 | PA09 | OFF | 0 | 33 || 34 | | | GND | | | | 10 | 23 | PA10 | OFF | 0 | 35 || 36 | 0 | OFF | CTS.1 | 24 | 201 | | 20 | 25 | PA20 | OFF | 0 | 37 || 38 | 0 | OFF | TXD.1 | 26 | 198 | | | | GND | | | 39 || 40 | 0 | OFF | RXD.1 | 27 | 199 | +------+-----+----------+------+---+----++----+---+------+----------+-----+------+ | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO | +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+ Does it means that number 4 in AIOWriteGPIO(4, 1) associates with 10 hardware pin number? Honestly I had try different pins, but AIOWriteGPIO still doesn't work.
Recommended Posts