Introduction
This example configures a GPIO pin in input mode and configures it to generate interrupt on rising edge. The application waits for 5 key presses, prints the number of times the keys are pressed and exits.
SK-AM62A-LP does not contain any push button connected to MCU GPIOs. This example is using MCU_GPIO0_15 pin in the MCU_HEADER(J9) for generating GPIO interrupt. Key presses can be done by connecting followed by disconnecting MCU_GPIO0_15(Pin 10 of J9) to ground (Pin 27 of J9) in the SK-AM62A-LP. Please note that number of key presses will be higher than actual as we are manualy connecting the ground using jumpers.
- Attention
- MCU GPIO interrupt is used by Linux running on A53. To run this example, mcu_gpio0 and mcu_gpio_intr entries to be removed from /arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi file of linux kernal source. A new linux image to be generated with this change and SoC initialization to done following SOC Initialization Using SPL . Without this change in the linux image, this example will not work.
Supported Combinations
Parameter | Value |
CPU + OS | mcu-r5fss0-0 nortos |
a53ss0-0 nortos |
Toolchain | ti-arm-clang |
arm.gnu.aarch64-none |
Board | am62ax-sk |
Example folder | examples/drivers/gpio/gpio_input_interrupt/ |
Steps to Run the Example
See Also
GPIO
Sample Output
Shown below is a sample output when the application is run,
GPIO Input Interrupt Test Started ...
GPIO Interrupt Configured for Rising Edge (Button release will trigger interrupt) ...
Press and release SW5 button on EVM to trigger GPIO interrupt ...
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 0 times
Key is pressed 1 times
Key is pressed 2 times
Key is pressed 5 times
GPIO Input Interrupt Test Passed!!
All tests have passed!!