• sales

    +86-0755-88291180

Luckfox Pico RV1103【Tutorial on how to use GPIO】

1] GPIO numbering calculation:


GPIO has 5 banks, GPIO0 to GPIO4, and each bank has 32 pins, named as follows:

GPIO0_A0 ~ A7 

GPIO0_B0 ~ B7 

GPIO0_C0 ~ C7 

GPIO0_D0 ~ D7 

GPIO1_A0 ~ A7 .... 

GPIO1_D0 ~ D7.... 

GPIO4_D0 ~ D7

GPIO 
The quantity can be calculated as follows, taking GPIO1_C7_d as an example:

GPIO1_C7_d = 1*32 + 2*8 + 7 = 55
(A=0, B=1, C=2, D=3)

2] Control I/O using the GPIO sysfs interface.:

echo
55 > /sys/class/gpio/export cd /sys/class/gpio/gpio55 echo out > direction echo 1 > value # Output a high level. echo 0 > value # Output a low level.
Set GPIO4_C6 as output.



3] Test the GPIO sample provided by the official SDK:

Source code: luckluckfox-gpio-test.c

3-1] Send the test routine to the Pico development board

3-2] Before running the program, make sure to grant executable permissions:chmod 777 ./luckfox_gpio_test

3-3] Run luckluckfox_gpio_test:


4] Verify the luckfox_gpio_test example:

4-1] Connect the LED to the following pins using the plugin.


4-2] he experimental phenomenon is that the LED lights up and turns off sequentially.



】FAQ:

 The number of GPIO can be calculated as follows, taking GPIO1_C7_d as an example:

GPIO1_C7_d = 1*32 + 2*8 + 7 = 55

(A=0, B=1, C=2, D=3)


Explanation of the calculation process:

In some microcontrollers or chips, pins or I/O ports are typically identified and accessed using a numbering system. This numbering system is usually composed of multiple parts, such as GPIO group, GPIO group letter, and digits.

In this example, GPIO1_C7_d is an identifier for a pin. Let’s break down the meaning of GPIO1_C7_d:

Explanation of the calculation process:

The calculation “1 * 32 + 2 * 8 + 7 = 55” is used to convert GPIO1_C7_d into a numerical identifier. Here’s how each part is calculated:

“1 * 32” represents the GPIO group number (Group) multiplied by the number of pins in each GPIO group. In this case, GPIO1 group has 32 pins.

“2 * 8” represents the index of the GPIO group letter (Group Letter) multiplied by the number of pins represented by each letter. In this device, the letter represents C, indicating it is the third letter in the group, and each letter has 8 pins.

“7” represents the number of the 7th pin (Digit).

By multiplying and adding these parts together, we get the numerical identifier of the pin GPIO1_C7_d as 55.

This numerical identifier calculation helps uniquely identify and access each pin, making it convenient for pin configuration and control in programming.

GPIO Group: In this case, it is GPIO1.

GPIO groups are used to differentiate different groups of pins. A chip may have multiple GPIO groups.

GPIO Group Letter: In this case, it is C.

GPIO group letters are used to further divide the pins within each GPIO group, typically starting from A and incrementing. (A=0, B=1, C=2, D=3)

Digit: In this case, it is 7, representing the 7th pin under the C letter in the GPIO group.

Suffix: In this case, it is the letter “d”.

Suffixes are often used to differentiate different functions or properties, such as input or output.

TAG: SIM7600G H Mini PCIe SIMCom Original 4G LTE Cat-4 Module Global Coverage GNSS Mechanical Keyboard LuckFox SIM8260G M2 3G/4G/5G/GNSS/GPS Sub-6G PCIe M.2 Moudle For LTE-A/NSA/SA For DFOTA /VoLTE For SIMCOM ESP32 S3 Development Board 3.5 inch LCD Capacitive Touch Screen 3.5inch Display 320×480 N16R8 PC Monitor LCD Raspberry Pi5 PCIe TO M.2 MINI Support Gen2 and Gen3 SSD Compatible 2230 2242 Raspberry Pi 4 Camera Raspberry Pi 5 inch DSI MIPI LCD TouchScreen Display 7inch 720x1280 For Luckfox Lyra RK3506/ESP32-P4/Luckfox Omni3576 15.6 inch Dual LCD Computer PC Monitor Display Double Secondary Screen Type C Mini HDMI 1080P For Windows/MacOS Raspberry Pi 12.3 inch LCD HDMI /Type C Display In-Cell Capacitive TouchScreen 1920x720 For Jetson Nano/mini Computer PC ESP32 S3 Development Board 4.3 inch LCD Capacitive Touch Screen 4.3inch Display 480×272 N16R8 ESP32 Display Raspberry Pi HQ Camera Official Original High Quality For M12 Lenses 12.3MP IMX477 Sensor X1009 Raspberry Pi 5 PCIe To 5-Port SATA SATA3.0 (NOT BOOT From SATA) Type-C Power Adapter Raspberry Pi UPS Core1121 LoRa LR1121 HF LF SPI For Sub-GHz and 2.4GHz RV1103 SC3336 EoAT Setting