Priority Task Example (FreeRTOS) - Freertos Typing CST Test
Loading…
Priority Task Example (FreeRTOS) — Freertos Code
Creates two tasks with different priorities to demonstrate scheduling.
#include <FreeRTOS.h>
#include <task.h>
#include <stdio.h>
void vHighPriorityTask(void* pvParameters) {
printf("High priority task running\n");
vTaskDelete(NULL);
}
void vLowPriorityTask(void* pvParameters) {
printf("Low priority task running\n");
vTaskDelete(NULL);
}
int main() {
xTaskCreate(vLowPriorityTask, "Low", configMINIMAL_STACK_SIZE, NULL, 1, NULL);
xTaskCreate(vHighPriorityTask, "High", configMINIMAL_STACK_SIZE, NULL, 2, NULL);
vTaskStartScheduler();
return 0;
}Freertos Language Guide
FreeRTOS is a lightweight, open-source real-time operating system (RTOS) kernel for embedded devices. It provides multitasking, scheduling, and inter-task communication for microcontrollers and small processors.
Primary Use Cases
- ▸Task scheduling for embedded systems
- ▸IoT and sensor node software
- ▸Industrial automation control
- ▸Real-time motor and sensor management
- ▸Edge devices and microcontroller applications
Notable Features
- ▸Preemptive and cooperative multitasking
- ▸Task priorities and time slicing
- ▸Inter-task communication (queues, semaphores, mutexes)
- ▸Software timers and tickless idle mode
- ▸Memory management and dynamic allocation support
Origin & Creator
Created by Richard Barry in 2003, now maintained and extended by Amazon Web Services as Amazon FreeRTOS and FreeRTOS Kernel.
Industrial Note
Essential in embedded systems requiring predictable real-time behavior, small footprint, and multitasking support-commonly used in IoT sensors, motor control, and safety-related microcontroller applications.