37 lines
1.7 KiB
ReStructuredText
37 lines
1.7 KiB
ReStructuredText
=================================
|
||
``timer_gpio`` Timer GPIO example
|
||
=================================
|
||
|
||
This example uses the timer interrupt to periodically change the state of a
|
||
digital output. The digital output may be a relay, a led or anything else.
|
||
This example can be very useful to validate timer drivers by using a logic
|
||
analyzer connected to the digital output. This example mainly differs from
|
||
the timer example because it waits on a sigwaitinfo() instead of using a
|
||
signal handler. This approach ensures a deterministic wake-up time when the
|
||
signal occurs.
|
||
|
||
Dependencies:
|
||
|
||
- ``CONFIG_TIMER`` – The timer driver must be selected.
|
||
- ``CONFIG_DEV_GPIO`` – The GPIO driver must be selected.
|
||
|
||
Note: You should also select one timer instance and have the gpio driver
|
||
properly configured in your board logic.
|
||
|
||
Example configuration:
|
||
|
||
- ``EXAMPLES_TIMER_GPIO_TIM_DEVNAME`` – This is the name of the timer device
|
||
that will be used. Default: ``/dev/timer0``.
|
||
- ``EXAMPLES_TIMER_GPIO_GPIO_DEVNAME`` – This is the name of the gpio device
|
||
that will be used. Default: ``/dev/gpio0``.
|
||
- ``EXAMPLES_TIMER_GPIO_INTERVAL`` – This is the timer interval in
|
||
microseconds. Default: ``1000000``.
|
||
- ``EXAMPLES_TIMER_GPIO_SIGNO`` – This is the signal number that is used to
|
||
notify that a timer interrupt occurred. Default: ``32``.
|
||
- ``EXAMPLES_TIMER_GPIO_STACKSIZE`` – This is the stack size allocated when the
|
||
timer task runs. Default: ``2048``.
|
||
- ``EXAMPLES_TIMER_GPIO_PRIORITY`` – This is the priority of the timer task.
|
||
Default: ``255``.
|
||
- ``EXAMPLES_TIMER_GPIO_PROGNAME`` – This is the name of the program that will
|
||
be used from the nsh. Default: ``timer_gpio``.
|