【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:等待事件位被设置的时间,以系统时钟节拍为单位。
    • 返回值:设置的事件位。
相关推荐
orion5714 小时前
Missing Semester Class1:course overview and introduction of shell
linux
apocelipes16 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户1204872216120 小时前
Linux驱动编译与加载
linux·嵌入式
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode3 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行