【FreeRTOS】常用函数总结

140 阅读2分钟
  1. xTaskCreate()

    • 用法:
    xTaskCreate(taskFunction, taskName, stackSize, parameters, priority, taskHandle)
    
    • 参数:

      • taskFunction:任务函数,即任务的入口函数。
      • taskName:任务的名称。
      • stackSize:任务堆栈的大小。
      • parameters:传递给任务函数的参数。
      • priority:任务的优先级。
      • taskHandle:任务句柄,用于引用创建的任务。
    • 返回值:如果任务创建成功,则返回pdPASS,否则返回errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY

  2. vTaskDelay()

    • 用法:
vTaskDelay(delay)
  • 参数:

    • delay:延时的时间,以系统时钟节拍为单位。
  • 返回值:无。

  1. xQueueCreate():

    • 用法:xQueueCreate(queueLength, itemSize)

    • 参数:

      • queueLength:队列的长度,即可以存储的元素数量。
      • itemSize:每个队列元素的大小。
    • 返回值:如果队列创建成功,则返回一个指向队列的句柄,否则返回NULL。

  2. xQueueSend()

    • 用法:
xQueueSend(queueHandle, item, waitTime)
  • 参数:

    • queueHandle:队列的句柄。
    • item:要发送的数据。
    • waitTime:等待队列可用的时间,以系统时钟节拍为单位。
  • 返回值:如果数据成功发送到队列,则返回pdPASS,否则返回errQUEUE_FULL

  1. xQueueReceive()

    • 用法:
xQueueReceive(queueHandle, buffer, waitTime)
  • 参数:

    • queueHandle:队列的句柄。
    • buffer:接收数据的缓冲区。
    • waitTime:等待队列可用的时间,以系统时钟节拍为单位。
  • 返回值:如果成功接收到数据,则返回pdPASS,否则返回errQUEUE_EMPTY

  1. xSemaphoreCreateBinary()

    • 用法:
xSemaphoreCreateBinary()
  • 参数:无
  • 返回值:如果二值信号量创建成功,则返回一个指向信号量的句柄,否则返回NULL
  1. xSemaphoreTake()

    • 用法:
xSemaphoreTake(semaphoreHandle, waitTime)
  • 参数:

    • semaphoreHandle:信号量的句柄。
    • waitTime:等待信号量可用的时间,以系统时钟节拍为单位。
  • 返回值:如果成功获取到信号量,则返回pdPASS,否则返回errQUEUE_EMPTY

  1. xSemaphoreGive()

    • 用法:
xSemaphoreGive(semaphoreHandle)
  • 参数:

    • semaphoreHandle:信号量的句柄。
  • 返回值:如果成功释放信号量,则返回pdPASS,否则返回errQUEUE_FULL

  1. xEventGroupCreate()

    • 用法:
xEventGroupCreate()
  • 参数:无
  • 返回值:如果事件组创建成功,则返回一个指向事件组的句柄,否则返回NULL
  1. xEventGroupSetBits()

    • 用法:
xEventGroupSetBits(eventGroupHandle, eventBits)
  • 参数:

    • eventGroupHandle:事件组的句柄。
    • eventBits:要设置的事件位。
  • 返回值:设置的事件位。

  1. xEventGroupWaitBits()

    • 用法:
    xEventGroupWaitBits(eventGroupHandle, bitsToWaitFor, clearOnExit, waitForAllBits, waitTime)
    
    • 参数:

      • eventGroupHandle:事件组的句柄。
      • bitsToWaitFor:等待的事件位。
      • clearOnExit:在退出等待时是否清除事件位。
      • waitForAllBits:是否等待所有的事件位都被设置。
      • waitTime:等待事件位被设置的时间,以系统时钟节拍为单位。
    • 返回值:设置的事件位。