2016-03-15 00:29:10 +08:00
|
|
|
Title: Button demo
|
|
|
|
|
|
|
|
Description:
|
|
|
|
|
|
|
|
A simple button demo showcasing the use of GPIO input with interrupts.
|
|
|
|
|
|
|
|
The demo assumes that a push button is connected to one of GPIO
|
2016-10-02 09:45:08 +08:00
|
|
|
lines. The sample code is configured to work on boards with user defined
|
|
|
|
buttons and that have defined the SW0_* variable in board.h
|
2016-03-15 00:29:10 +08:00
|
|
|
|
2016-10-02 09:45:08 +08:00
|
|
|
After startup, the program looks up a predefined GPIO device,
|
|
|
|
and configures the pin in input mode, enabling interrupt generation on
|
2016-03-15 00:29:10 +08:00
|
|
|
falling edge. During each iteration of the main loop, the state of
|
|
|
|
GPIO line is monitored and printed to the serial console. When the
|
|
|
|
input button gets pressed, the interrupt handler will print an
|
|
|
|
information about this event along with its timestamp.
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Building and Running Project:
|
|
|
|
|
|
|
|
It can be built for a nucleo_f103rb board as follows:
|
|
|
|
|
|
|
|
make
|
|
|
|
|
|
|
|
The code may need adaption before running the code on another board.
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Troubleshooting:
|
|
|
|
|
|
|
|
Problems caused by out-dated project information can be addressed by
|
|
|
|
issuing one of the following commands then rebuilding the project:
|
|
|
|
|
|
|
|
make clean # discard results of previous builds
|
|
|
|
# but keep existing configuration info
|
|
|
|
or
|
|
|
|
make pristine # discard results of previous builds
|
|
|
|
# and restore pre-defined configuration info
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|