48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
#include "tos_k.h"
|
|
#include "mcu_init.h"
|
|
|
|
#define STK_SIZE_TASK_DEMO 512
|
|
|
|
k_stack_t stack_task_demo[STK_SIZE_TASK_DEMO];
|
|
|
|
k_task_t task_demo;
|
|
|
|
extern void entry_task_demo(void *arg);
|
|
|
|
void oneshot_timer_cb(void *arg)
|
|
{
|
|
printf("this is oneshot timer callback, current systick: %lld\n", tos_systick_get());
|
|
}
|
|
|
|
void periodic_timer_cb(void *arg)
|
|
{
|
|
printf("this is periodic timer callback, current systick: %lld\n", tos_systick_get());
|
|
}
|
|
|
|
void entry_task_demo(void *arg)
|
|
{
|
|
k_timer_t oneshot_tmr;
|
|
k_timer_t periodic_tmr;
|
|
|
|
tos_timer_create(&oneshot_tmr, 3000, 0, oneshot_timer_cb, K_NULL, TOS_OPT_TIMER_ONESHOT);
|
|
tos_timer_create(&periodic_tmr, 2000, 3000, periodic_timer_cb, K_NULL, TOS_OPT_TIMER_PERIODIC);
|
|
|
|
printf("current systick: %lld\n", tos_systick_get());
|
|
tos_timer_start(&oneshot_tmr);
|
|
tos_timer_start(&periodic_tmr);
|
|
|
|
while (K_TRUE) {
|
|
tos_task_delay(1000);
|
|
}
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
board_init();
|
|
tos_knl_init();
|
|
(void)tos_task_create(&task_demo, "receiver_higher_prio", entry_task_demo, NULL,
|
|
4, stack_task_demo, STK_SIZE_TASK_DEMO, 0);
|
|
tos_knl_start();
|
|
}
|
|
|