arduino多线程示例
时间: 2023-10-08 19:05:39 浏览: 81
很高兴回答你的问题!以下是一个基于Arduino的多线程示例:
#include <Arduino_FreeRTOS.h> //引入FreeRTOS库
TaskHandle_t Task1, Task2; //定义两个Task变量
void setup() {
Serial.begin(9600);
//Task1和Task2都会同时执行
xTaskCreate(
Task1code, //Task要执行的函数
"Task1", //Task的名字
1000, //Task的栈大小
NULL, //Task要传入的参数
1, //Task的优先级
&Task1 //Task的指针
);
xTaskCreate(
Task2code, //Task要执行的函数
"Task2", //Task的名字
1000, //Task的栈大小
NULL, //Task要传入的参数
1, //Task的优先级
&Task2 //Task的指针
);
}
void loop() {
//什么也不做
}
void Task1code(void *parameter) {
while (1) {
Serial.println("Task1 is running");
vTaskDelay(1000 / portTICK_PERIOD_MS); //延迟1秒
}
}
void Task2code(void *parameter) {
while (1) {
Serial.println("Task2 is running");
vTaskDelay(1000 / portTICK_PERIOD_MS); //延迟1秒
}
}
希望对你有所帮助!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)