【FreeRTOS】常用函数总结

  1. xTaskCreate()

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

    • 用法:
c 复制代码
vTaskDelay(delay)
  • 参数:
    • delay:延时的时间,以系统时钟节拍为单位。
  • 返回值:无。
  1. xQueueCreate():

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

    • 用法:
c 复制代码
xQueueSend(queueHandle, item, waitTime)
  • 参数:
    • queueHandle:队列的句柄。
    • item:要发送的数据。
    • waitTime:等待队列可用的时间,以系统时钟节拍为单位。
  • 返回值:如果数据成功发送到队列,则返回pdPASS,否则返回errQUEUE_FULL
  1. xQueueReceive()
    • 用法:
c 复制代码
xQueueReceive(queueHandle, buffer, waitTime)
  • 参数:
    • queueHandle:队列的句柄。
    • buffer:接收数据的缓冲区。
    • waitTime:等待队列可用的时间,以系统时钟节拍为单位。
  • 返回值:如果成功接收到数据,则返回pdPASS,否则返回errQUEUE_EMPTY
  1. xSemaphoreCreateBinary()
    • 用法:
c 复制代码
xSemaphoreCreateBinary()
  • 参数:无
  • 返回值:如果二值信号量创建成功,则返回一个指向信号量的句柄,否则返回NULL
  1. xSemaphoreTake()
    • 用法:
c 复制代码
xSemaphoreTake(semaphoreHandle, waitTime)
  • 参数:
    • semaphoreHandle:信号量的句柄。
    • waitTime:等待信号量可用的时间,以系统时钟节拍为单位。
  • 返回值:如果成功获取到信号量,则返回pdPASS,否则返回errQUEUE_EMPTY
  1. xSemaphoreGive()
    • 用法:
c 复制代码
xSemaphoreGive(semaphoreHandle)
  • 参数:
    • semaphoreHandle:信号量的句柄。
  • 返回值:如果成功释放信号量,则返回pdPASS,否则返回errQUEUE_FULL
  1. xEventGroupCreate()
    • 用法:
c 复制代码
xEventGroupCreate()
  • 参数:无
  • 返回值:如果事件组创建成功,则返回一个指向事件组的句柄,否则返回NULL
  1. xEventGroupSetBits()
    • 用法:
c 复制代码
xEventGroupSetBits(eventGroupHandle, eventBits)
  • 参数:
    • eventGroupHandle:事件组的句柄。
    • eventBits:要设置的事件位。
  • 返回值:设置的事件位。
  1. xEventGroupWaitBits()

    • 用法:
    c 复制代码
    xEventGroupWaitBits(eventGroupHandle, bitsToWaitFor, clearOnExit, waitForAllBits, waitTime)
    • 参数:
      • eventGroupHandle:事件组的句柄。
      • bitsToWaitFor:等待的事件位。
      • clearOnExit:在退出等待时是否清除事件位。
      • waitForAllBits:是否等待所有的事件位都被设置。
      • waitTime:等待事件位被设置的时间,以系统时钟节拍为单位。
    • 返回值:设置的事件位。
相关推荐
zfxwasaboy2 小时前
DRM KMS 子系统(4)Planes/Encoder/Connector
linux·c语言
暮色_年华2 小时前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
专注echarts研发20年2 小时前
工业级 Qt 业务窗体标杆实现・ResearchForm 类深度解析
数据库·qt·系统架构
dnncool2 小时前
【Linux】操作系统发展
linux
极客代码3 小时前
深入解析C语言中的函数指针:原理、规则与实践
c语言·开发语言·指针·状态机·函数·函数指针
文言一心3 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
敲皮裤的代码3 小时前
《C语言》分支和循环(下)
c语言
XRJ040618xrj4 小时前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
码农水水4 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php