result = rt_event_init(&event, "event", RT_IPC_FLAG_FIFO); if (result != RT_EOK) { rt_kprintf("init event failed.\n"); return -1; } /* 动态创建线程1 */ thread1 = rt_thread_create("thread1", rt_thread1_entry, RT_NULL, 1024, THREAD_PRIORITY - 1, THREAD_TIMESLICE); if...
rt_mp_delete rt_mp_alloc 内核对象类 登录后复制rt_object_allocate rt_object_find idle 线程 登录后复制rt_defunct_execute ipc 同步和消息机制类 登录后复制rt_sem_create rt_sem_delete rt_mutex_create rt_mutex_trytake rt_mutex_delete rt_event_create rt_event_delete rt_mb_create rt_mb_delete r...
event=(rt_event_t)rt_object_allocate(RT_Object_Class_Event,name);if(event==RT_NULL)returnevent;/* set parent */event->parent.parent.flag=flag;/* initialize ipc object */rt_ipc_object_init(&(event->parent));/* initialize event */event->set=0;returnevent;}RTM_EXPORT(rt_event_create...
rt_err_trt_event_send(rt_event_tevent,rt_uint32_tset); 使用该函数接口时,通过参数set指定的事件标志来设定event事件集对象的事件标志值。然后遍历等待在event事件集对象上的等待线程链表,判断是否有线程的事件激活要求与当前event对象事件标志值匹配,如果有,则唤醒该线程。 3. 接收事件 一个事件集对象可以同时...
/* init spi data notify event */ rt_event_init(&spi_wifi_data_event, "wifi", RT_IPC_FLAG_FIFO); rw007_spi.rw007_cmd_event = rt_event_create("wifi_cmd", RT_IPC_FLAG_FIFO); /* register wlan device for ap */ ret = rt_wlan_dev_register(&wlan_ap, RT_WLAN_DEVICE_AP_NAME, ...
/* 初始化事件对象 */ result = rt_event_init(&event, "event", RT_IPC_FLAG_FIFO); if (result != RT_EOK) { rt_kprintf("init event failed.\n"); return -1; } /* 动态创建线程1 */ thread1 = rt_thread_create("thread1", rt_thread1_entry, RT_NULL, 1024, THREAD_PRIO...
静态事件集操作rt_err_trt_event_init(rt_event_tevent,constchar*name,rt_uint8_tfalg)//上同rt_err_trt_event_detach(rt_event_tevent) 创建与删除 动态事件集操作rt_event_trt_event_create(constchar*name,rt_uint8_tflag)rt_err_trt_event_delete(rt_event event) ...
1、event 事件集对象的句柄 2、name 事件集的名称 3、flag 事件集的标志,它可以取如下数值: RT_IPC_FLAG_FIFO 或 RT_IPC_FLAG_PRIO 返回值: RT_EOK 初始化成功 */ rt_err_t rt_event_init(rt_event_t event, const char *name, rt_uint8_t flag) ...
定时器控制块:创建/初始化(rt_timer_create/init)、启动(rt_timer_start)、停止/控制(rt_timer_stop/control)、删除/脱离(rt_timer_delete/detach) 控制cmd指令: #defineRT_TIMER_CTRL_SET_TIME0x0/* 设置定时器超时时间 */ #defineRT_TIMER_CTRL_GET_TIME0x1/* 获得定时器超时时间 */ ...
线程通过调用函数 rt_thread_create/init() 进入到初始状态;初始状态的线程通过调用函数 rt_thread_startup() 进入到就绪状态;就绪状态的线程被调度器调度后进入运行状态,调用rt_thread_suspend()函数切换为挂起状态;当处于运行状态的线程调用 rt_sem_take(),rt_mutex_take(),rt_mb_recv() 等函数或者获取不到...