Wildanfy / TASK3-RTOS

0 stars 0 forks source link

Task 3 : Priority Preemptive Scheduling

Description

Proyek ini menggunakan sistem operasi real-time (RTOS) dengan penjadwalan preemptive berbasis prioritas pada mikrokontroler STM32 untuk mengelola dua tugas, yaitu mengendalikan LED. Tugas dengan prioritas lebih tinggi dapat mengganggu tugas dengan prioritas lebih rendah. Tugas ini menunjukkan cara kerja RTOS, di mana tugas dengan prioritas lebih tinggi selalu dijalankan terlebih dahulu, sedangkan tugas dengan prioritas lebih rendah dijalankan ketika tidak ada tugas yang lebih penting. Disini kami mengontrol led menggunakan GPIO pin PA0, PA1, PA4, dan PA5

Project

Gambar Rangkaian

IOC PIN

Pin IOC

Project ini mengimplementasikan sebuah sistem RTOS (Real-Time Operating System) pada mikrokontroler STM32 yang mengontrol dua LED (hijau dan merah) menggunakan FreeRTOS. Ada tiga task utama dalam sistem ini, yaitu:

Hubungan Antar Task: Karena RedLEDTask memiliki prioritas lebih tinggi, ketika dijalankan, task ini akan menghentikan sementara GreenLEDTask hingga selesai, yang disebut preemption. Setelah RedLEDTask selesai, penjadwal RTOS akan kembali menjalankan GreenLEDTask. Jika RedLEDTask membutuhkan kembali CPU saat GreenLEDTask berjalan, sistem akan kembali memprioritaskan RedLEDTask. Dengan ini, setiap task dijalankan berdasarkan prioritasnya, memungkinkan multitasking dan pengaturan sumber daya CPU yang efisien.

Demo Task 3

https://github.com/user-attachments/assets/bc5f28d9-9195-4508-95d1-0561abab2c50

Author