如何在 FreeRTOS 任务中使用函数
How to use Functions in FreeRTOS Tasks
我想知道如何使用我将在 FreeRTOS 中实现的功能。
示例:如果我想创建任何像 calculateTotal
这样的两个值的函数(只是一个例子),我如何将它与任务一起使用?我应该防止在 Tasks
之外使用函数,而是在 Task
中编写所有函数的纯代码吗?有人可以帮我吗?
void randomTask(void* param) {
//initialize something
for(;;){
//can i call functions here and define them outside?
}
}
是的,您可以在外部定义函数并从任务中调用它们。这些函数在调用任务的上下文中执行,它们使用为任务分配的堆栈内存。
您也可以从不同的任务调用相同的函数,只要它们是无状态的。如果函数不使用全局变量和静态局部变量,则它是无状态的。当然,你可以提供一个状态(上下文)作为函数参数。
我想知道如何使用我将在 FreeRTOS 中实现的功能。
示例:如果我想创建任何像 calculateTotal
这样的两个值的函数(只是一个例子),我如何将它与任务一起使用?我应该防止在 Tasks
之外使用函数,而是在 Task
中编写所有函数的纯代码吗?有人可以帮我吗?
void randomTask(void* param) {
//initialize something
for(;;){
//can i call functions here and define them outside?
}
}
是的,您可以在外部定义函数并从任务中调用它们。这些函数在调用任务的上下文中执行,它们使用为任务分配的堆栈内存。
您也可以从不同的任务调用相同的函数,只要它们是无状态的。如果函数不使用全局变量和静态局部变量,则它是无状态的。当然,你可以提供一个状态(上下文)作为函数参数。