#include <Arduino_FreeRTOS.h>
#include <stdlib.h> // Thư viện cho malloc và free
void Task1(void *pvParameters) {
// Sử dụng malloc để cấp phát bộ nhớ động
int *p = (int *)malloc(sizeof(int) * 10); // Cấp phát bộ nhớ cho 10 số nguyên
if (p != NULL) {
for (int i = 0; i < 10; i++) {
p[i] = i * i;
Serial.println(p[i]);
}
free(p); // Giải phóng bộ nhớ
} else {
Serial.println("Failed to allocate memory");
}
vTaskDelete(NULL); // Kết thúc task
}
void setup() {
Serial.begin(9600);
// Tạo một task FreeRTOS
xTaskCreate(
Task1, // Hàm task
"Task1", // Tên task
128, // Kích thước stack
NULL, // Tham số truyền vào task
1, // Độ ưu tiên của task
NULL); // Con trỏ handle của task
}
void loop() {
// Không cần sử dụng trong FreeRTOS
}