I have a BeagleBone Black board 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: https://beagleboard.org/static/librobotcontrol/installation.html
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: https://github.com/beagleboard/librobotcontrol/blob/master/docs/src/project_template.dox
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.
Try config-pin gpio
config-pin p9.9 gpio
Then try your source. If that does not work and if getting the gpio pins muxed on the BBB is giving you issues. You can always test your specific pin w/:
config-pin -q <Your Specific Pin Used>
For instance: config-pin -q p9.9
will tell you how it is muxed.
Also, most pins can be found by a testing script by mvduin.
Here is the site online at github: https://github.com/mvduin/bbb-pin-utils
Here: https://beagleboard.org/Support/bone101
That site, once scrolling downward, shows a bunch of different ways to mux your BBB w/ GPIO, i2c, UART, and so on...
This and more can be a good base for working w/ the BBB outside of programming w/ the C language under the librobotcontrol library.
Also, here is a good starter on the way GPIO is handled in the C lib. in question: https://beagleboard.org/librobotcontrol/group___g_p_i_o.html