55 lines
1.1 KiB
C
55 lines
1.1 KiB
C
|
/*
|
||
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*
|
||
|
* Change Logs:
|
||
|
* Date Author Notes
|
||
|
* 2018-08-07 Tanek first implementation
|
||
|
*/
|
||
|
|
||
|
#include <board.h>
|
||
|
#include <rtthread.h>
|
||
|
#include <rtdevice.h>
|
||
|
|
||
|
#ifndef RT_USING_TIMER_SOFT
|
||
|
#error "Please enable soft timer feature!"
|
||
|
#endif
|
||
|
|
||
|
#define TIMER_APP_DEFAULT_TICK (RT_TICK_PER_SECOND * 2)
|
||
|
|
||
|
#ifdef RT_USING_PM
|
||
|
|
||
|
static rt_timer_t timer1;
|
||
|
|
||
|
static void _timeout_entry(void *parameter)
|
||
|
{
|
||
|
rt_kprintf("current tick: %ld\n", rt_tick_get());
|
||
|
}
|
||
|
|
||
|
static int timer_app_init(void)
|
||
|
{
|
||
|
timer1 = rt_timer_create("timer_app",
|
||
|
_timeout_entry,
|
||
|
RT_NULL,
|
||
|
TIMER_APP_DEFAULT_TICK,
|
||
|
RT_TIMER_FLAG_PERIODIC | RT_TIMER_FLAG_SOFT_TIMER);
|
||
|
if (timer1 != RT_NULL)
|
||
|
{
|
||
|
rt_timer_start(timer1);
|
||
|
|
||
|
/* keep in timer mode */
|
||
|
rt_pm_request(PM_SLEEP_MODE_TIMER);
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return -1;
|
||
|
}
|
||
|
}
|
||
|
INIT_EXPORT_APP(timer_app_init);
|
||
|
|
||
|
#endif /* RT_USING_PM */
|
||
|
|