Unable to access BeagleBone Black GPIO pins

I have a BeagleBone Blackboard and I’m using the below-mentioned image file.
https://debian.beagleboard.org/images/bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz

I aim to operate GPIO pins of this board with the c programming language.

To do so, I’ve gone through this link: Robot Control Library: Installation & Checking Functionality

And after following all the steps according to this link the result I achieved is the same as mentioned in the checking functionality step [the last step] of this document.

Furthermore, I follow this document for c language setup:

and run this source code:
https://beagleboard.org/static/librobotcontrol/rc_test_leds_8c-example.html

All these processes were completed without any error.

Now I want to access the GPIO pins of the board. For that, I’ve prepared a basic code.

Let’s take a pin P8_10 / GPIO2[4] for an example. So for that my code will be:

#include <stdio.h>
#include <rc/led.h>
#include <rc/gpio.h>
#include <rc/time.h>
//#define WAIT_US 500000 // time to light each LED in microseconds
int main()
{
rc_gpio_init(2,4,GPIOHANDLE_REQUEST_OUTPUT); /* declare as output*/
rc_gpio_set_value(2,4,1); /* set high */
rc_gpio_cleanup(2,4);
return 0;
}

After executing this code I am not getting the expected output.

So have you any suggestions for me regarding this code.
Or is there any other way to do so?

Thank you.

Why are you using libRobotControl? Are you using the Robotic’s cape?

Otherwise, just use libgpiod, or /sys/class/gpio…

Regards,

I want to use i2c and UART communication as well. so can you help me with the example code with the library gpiod?

Hi Raj,

For i2c example check the following link.

UART communication can be achieved by accessing the /dev/ttyO0-4 files.
The following are some reading materials.
https://www.cmrr.umn.edu/~strupp/serial.html
https://www.wikitechy.com/tutorials/linux/how-to-open-read-and-write-from-serial-port-in-c

Regards,
Aswin

For i2c examples check these as well.
https://fossies.org/linux/i2c-tools/lib/smbus.c

Regards,
Aswin