赞
踩
此笔记由个人整理
华为IOT LiteOS开发实战营
第三天
您需要在您的系统初始化完毕之后,调用osal_install接口将您的系统注册进SDK即可。使用该接口需要包含<osal_imp.h>,相关的宏定义在<osal_type.h>中。详情参考该头文件。
osal_task_create(constchar*name,int(*task_entry)(void*args),void*args,intstack_size,void*stack,intprior);
osal_task_kill(void*task);
osal_task_exit();
osal_task_sleep(int ms);
#include <osal.h> #define USER_TASK1_PRI 12//低优先级 #define USER_TASK2_PRI 11//高优先级 uint32_t user_task1_id = 0; uint32_t user_task2_id = 0; static int user_task1_entry()//任务1 { int n = 0; for(n = 0; n < 5; n++) { printf("task1: my task id is %ld, n = %d!\r\n", user_task1_id, n++); osal_task_sleep(2*1000); } printf("user task 1 exit!\r\n"); return 0; } static int user_task2_entry()//任务2 { while (1) { printf("task 2: my task id is %ld!\r\n", user_task2_id); osal_task_sleep(2*1000); } } int standard_app_demo_main() { printf("user task 1 exit!\r\n"); user_task1_id = osal_task_create("user_task1",user_task1_entry,NULL,0x400,NULL,USER_TASK1_PRI); user_task2_id = osal_task_create("user_task2",user_task2_entry,NULL,0x400,NULL,USER_TASK2_PRI); return 0; }
#include <osal.h> #define USER_TASK1_PRI 12//低优先级 #define USER_TASK2_PRI 11//高优先级 uint32_t user_task1_id = 0; uint32_t user_task2_id = 0; static int user_task1_entry() { int n = 0; for(n = 0; n < 5; n++) { printf("task1: my task id is %ld, n = %d!\r\n", user_task1_id, n); osal_task_sleep(2*1000); if(n==3) { // osal_task_kill(user_task2_id);//删除指定任务 // printf("kill task success\r\n"); printf("user task 1 exit!\r\n"); osal_task_exit();//退出当前任务 } } return 0; } static int user_task2_entry()//任务2 { while (1) { printf("task 2: my task id is %ld!\r\n", user_task2_id); osal_task_sleep(2*1000); } } int standard_app_demo_main() { printf("user task 1 exit!\r\n"); user_task1_id = osal_task_create("user_task1",user_task1_entry,NULL,0x400,NULL,USER_TASK1_PRI); user_task2_id = osal_task_create("user_task2",user_task2_entry,NULL,0x400,NULL,USER_TASK2_PRI); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。