CMSIS适配层

osKernelStart

  1. osStatus osKernelStart(void);
  • 功能描述

启动内核

  • 参数解释

  • 返回值osOK,返回成功。

osErrorOS,返回失败。

osKernelInitialize

  1. osStatus osKernelInitialize(void);
  • 功能描述

初始化内核

  • 参数解释

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osKernelRunning

  1. int32_t osKernelRunning(void);
  • 功能描述

返回内核是否正在运行

  • 参数解释

  • 返回值0,内核不在运行。

非0,内核正在运行。

osKernelSysTick

  1. uint32_t osKernelSysTick(void);
  • 功能描述

获取系统时钟滴答数

  • 参数解释

  • 返回值系统自启动开始到目前的时钟滴答数。

osThreadCreate

  1. osThreadId osThreadCreate(const osThreadDef_t *thread_def, void *argument);
  • 功能描述

创建任务

  • 参数解释

IN/OUT参数名描述[in]thread_def任务初始化参数[in]argument传递给任务入参

  • 返回值

成功,则返回创建的任务句柄。

失败,返回NULL。

osThreadGetId

  1. osThreadId osThreadGetId(void);
  • 功能描述

获取当前任务句柄

  • 参数解释

  • 返回值

当前任务句柄。

osThreadTerminate

  1. osStatus osThreadTerminate(osThreadId thread_id);
  • 功能描述

终止任务运行并删除任务

  • 参数解释

IN/OUT参数名描述[in]thread_id任务句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osThreadSetPriority

  1. osStatus osThreadSetPriority(osThreadId thread_id, osPriority priority);
  • 功能描述

设置任务优先级

  • 参数解释

IN/OUT参数名描述[in]thread_id任务句柄[in]priority优先级

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osThreadGetPriority

  1. osPriority osThreadGetPriority(osThreadId thread_id);
  • 功能描述

获取任务优先级

  • 参数解释

IN/OUT参数名描述[in]thread_id任务句柄

  • 返回值

任务优先级。

osDelay

  1. osStatus osDelay(uint32_t millisec);
  • 功能描述

睡眠当前任务,以毫秒为单位。

  • 参数解释

IN/OUT参数名描述[in]millisec睡眠时间毫秒数

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osTimerCreate

  1. osTimerId osTimerCreate(const osTimerDef_t *timer_def, os_timer_type type, void *argument);
  • 功能描述

创建一个定时器。

  • 参数解释

IN/OUT参数名描述[in]timer_def定时器初始化参数[in]type定时器类型[in]argument定时器回调入参

  • 返回值

成功,则返回创建的定时器句柄。

失败,返回NULL。

osTimerStart

  1. osStatus osTimerStart(osTimerId timer_id, uint32_t millisec);
  • 功能描述

启动定时器

  • 参数解释

IN/OUT参数名描述[in]timer_id定时器句柄[in]millisec执行延迟参数

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osTimerStop

  1. osStatus osTimerStop(osTimerId timer_id);
  • 功能描述

停止定时器

  • 参数解释

IN/OUT参数名描述[in]timer_id定时器句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osTimerDelete

  1. osStatus osTimerDelete(osTimerId timer_id);
  • 功能描述

销毁定时器

  • 参数解释

IN/OUT参数名描述[in]timer_id定时器句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osMutexCreate

  1. osStatus osMutexCreate(const osMutexDef_t *mutex_def);
  • 功能描述

创建互斥量

  • 参数解释

IN/OUT参数名描述[in]mutex_def互斥量初始化参数

  • 返回值

成功,则返回创建的互斥量句柄。

失败,返回NULL。

osMutexWait

  1. osStatus osMutexWait(osMutexId mutex_id, uint32_t millisec);
  • 功能描述

尝试获取一个互斥量

  • 参数解释

IN/OUT参数名描述[in]mutex_id互斥量句柄[in]millisec超时参数

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osMutexRelease

  1. osStatus osMutexRelease(osMutexId mutex_id);
  • 功能描述

释放互斥量

  • 参数解释

IN/OUT参数名描述[in]mutex_id互斥量句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osMutexDelete

  1. osStatus osMutexDelete(osMutexId mutex_id);
  • 功能描述

销毁互斥量

  • 参数解释

IN/OUT参数名描述[in]mutex_id互斥量句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osSemaphoreCreate

  1. osSemaphoreId osSemaphoreCreate(const osSemaphoreDef_t *semaphore_def, int32_t count);
  • 功能描述

创建一个信号量

  • 参数解释

IN/OUT参数名描述[in]semaphore_def信号量初始化参数[in]count信号量初始值

  • 返回值

成功,则返回创建的信号量句柄。

失败,返回NULL。

osSemaphoreWait

  1. int32_t osSemaphoreWait(osSemaphoreId semaphore_id, uint32_t millisec);
  • 功能描述

等待一个信号量

  • 参数解释

IN/OUT参数名描述[in]semaphore_id信号量句柄[in]millisec超时参数

  • 返回值

成功,则返回信号量可用的资源数。

失败,返回-1。

osSemaphoreRelease

  1. osStatus osSemaphoreRelease(osSemaphoreId semaphore_id);
  • 功能描述

释放信号量

  • 参数解释

IN/OUT参数名描述[in]semaphore_id信号量句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osSemaphoreDelete

  1. osStatus osSemaphoreDelete(osSemaphoreId semaphore_id);
  • 功能描述

销毁信号量

  • 参数解释

IN/OUT参数名描述[in]semaphore_id信号量句柄

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osPoolCreate

  1. osPoolId osPoolCreate(const osPoolDef_t *pool_def);
  • 功能描述

创建一个内存池

  • 参数解释

IN/OUT参数名描述[in]pool_def内存池初始化参数

  • 返回值

成功,则返回创建的内存池句柄。

失败,返回NULL。

osPoolAlloc

  1. void *osPoolAlloc(osPoolId pool_id);
  • 功能描述

从内存池中获取一个内存块

  • 参数解释

IN/OUT参数名描述[in]pool_id内存池句柄

  • 返回值

成功,则返回分配到的内存块起始地址。

失败,返回NULL。

osPoolCAlloc

  1. void *osPoolCAlloc(osPoolId pool_id);
  • 功能描述

从内存池中获取一个内存块,并将此内存块清空为0。

  • 参数解释

IN/OUT参数名描述[in]pool_id内存池句柄

  • 返回值

成功,则返回分配到的内存块起始地址。

失败,返回NULL。

osPoolFree

  1. osStatus osPoolFree(osPoolId pool_id, void *block);
  • 功能描述

释放一个内存块

  • 参数解释

IN/OUT参数名描述[in]pool_id内存池句柄[in]block内存块起始地址

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osMessageCreate

  1. osMessageQId osMessageCreate(const osMessageQDef_t *queue_def, osThreadId thread_id);
  • 功能描述

创建一个队列

  • 参数解释

IN/OUT参数名描述[in]queue_def队列初始化参数[in]thread_id任务句柄

  • 返回值

成功,则返回创建的队列句柄。

失败,返回NULL。

osMessagePut

  1. osStatus osMessagePut(osMessageQId queue_id, uint32_t info, uint32_t millisec);
  • 功能描述

向队列中放置一个消息

  • 参数解释

IN/OUT参数名描述[in]queue_id队列句柄[in]info要放置的消息体[in]millisec超时参数

  • 返回值

osOK,返回成功。

osErrorOS,返回失败。

osMessageGet

  1. osEvent osMessageGet(osMessageQId queue_id, uint32_t millisec);
  • 功能描述

从内存池中获取一个消息

  • 参数解释

IN/OUT参数名描述[in]queue_id队列句柄[in]millisec超时参数

  • 返回值

一个包含了返回状态的osEvent信息结构体。