他的回复:
任务管理状态有就绪,运行,阻塞,退出态好像跟多线程相似 软件定时器创建定时器:osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);启动定时器:osTimerStart (osTimerId_t timer_id, uint32_t ticks);停止定时器:osTimerStop (osTimerId_t timer_id);删除定时器:osTimerDelete (osTimerId_t timer_id);软件定时器使用了系统的一个队列和一个任务资源,软件定时器的触发遵循队列规则,先进先出。定时时间短的定时器总是比定时时间长的靠近队列头,满足优先被触发的准则。 信号量创建互斥锁:osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);获取互斥锁:osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout);释放互斥锁:osSemaphoreRelease (osSemaphoreId_t semaphore_id);删除互斥锁:osMutexDelete (osMutexId_t mutex_id); 事件管理创建事件标记对象:osEventFlagsNew (const osEventFlagsAttr_t *attr);设置事件标记:osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags);等待事件标记触发:osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout);删除事件标记对象:osEventFlagsDelete (osEventFlagsId_t ef_id); 互斥锁当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。当该任务释放时,该互斥锁被开锁,任务失去该互斥锁的所有权。当一个任务持有互斥锁时,其他任务将不能再对该互斥锁进行开锁或持有。 消息队列创建消息队列:osMutexNew (const osMutexAttr_t *attr);发送消息:osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout);获取消息:osMutexRelease (osMutexId_t mutex_id);删除消息队列:osMutexDelete (osMutexId_t mutex_id);