52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
#include "app_config.h"
|
|
#include "system/includes.h"
|
|
#include "system/sys_common.h"
|
|
#include "wait.h"
|
|
|
|
#ifdef USE_WAIT_COMPLETION_TEST_DEMO
|
|
|
|
static u8 test_wait_time_sec;
|
|
static int wait_condition(void)
|
|
{
|
|
if (timer_get_sec() > test_wait_time_sec) {
|
|
puts("wait_condition return OK!\r\n");
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int wait_completion_callback(void *priv)
|
|
{
|
|
printf("wait_completion_callback run 0x%x!\r\n", (u32)priv);
|
|
return 0;
|
|
}
|
|
|
|
static void wait_completion_test_task(void *p)
|
|
{
|
|
os_time_dly(100); //wait_completion初始化完成后才可以测试
|
|
|
|
|
|
test_wait_time_sec = 1;
|
|
wait_completion_add_to_task("app_core", wait_condition, wait_completion_callback, (void *)0x12345678);
|
|
os_time_dly(test_wait_time_sec * 100 + 100);
|
|
|
|
|
|
test_wait_time_sec = 30;
|
|
u16 wait_id = wait_completion_add_to_task("app_core", wait_condition, wait_completion_callback, NULL);
|
|
os_time_dly(100);
|
|
wait_completion_del(wait_id);//中途取消,删除wait_completion
|
|
printf("wait_completion_del id[0x%x] OK!\r\n", wait_id);
|
|
|
|
while (1) {
|
|
os_time_dly(300);
|
|
}
|
|
}
|
|
static int c_main(void)
|
|
{
|
|
os_task_create(wait_completion_test_task, NULL, 10, 1000, 128, "wait_completion_test_task");
|
|
return 0;
|
|
}
|
|
late_initcall(c_main);
|
|
#endif
|