Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
FreeRTOS Tutorial
4
Struktur sebuah task
5
State sebuah task
6
Membuat Task Baru xTaskCreate
7
Example 1 Implementasi Task 1
8
Example 1 Implementasi Task 2
9
Example 1 Starting Task
10
Example 1 Output
11
Example 1
12
Membuat Task2 dari dalam Task1
13
Example2 1 Fungsi dipakai 2 Task
14
Example 2 Main()
15
Task Priority Diset dengan parameter uxPriority
Jumlah prioritas diset dengan configMAX_PRIORITIES di FreeRTOSConfig.c Beberapa task dapat memiliki prioritas yang sama Prioritas terendah = 0 Prioritas tertinggi (configMAX_PRIORITIES – 1).
16
configTICK_RATE_HZ menentukan frekuensi tick
portTICK_RATE_MS dipakai mengubah jumlah tick menjadi milisekon
17
Timer Tick
18
Example 3 Task dengan prioritas berbeda
19
Example 3 Output
20
Example 3 Urutan pelaksanaan
21
Daftar State Task
22
Daftar State Task Blocked Suspended Running Ready Menunggu delay
Sinkronisasi dengan task lain : queues, semaphore, mutex (mutual exclusion) Suspended Running Ready
23
Delay dengan fungsi API
void vTaskDelay( portTickType xTicksToDelay ); xTicksToDelay : The number of tick interrupts that the calling task should remain in the Blocked state before being transitioned back into the Ready state.
24
Example 3 Delay dengan fungsi delay
25
Example 4 Output
26
Example 4 Urutan Eksekusi
27
Example 4 Perubahan state
28
vTaskDelayUntil() API Function
void vTaskDelayUntil( portTickType * pxPreviousWakeTime, portTickType xTimeIncrement ); pxPreviousWakeTime: holds the time at which the task last left the Blocked state (was ‘woken’ up). Updated automatically. xTimeIncrement : xTimeIncrement is specified in ‘ticks’. The constant portTICK_RATE_MS can be used to convert milliseconds to ticks.
29
Example 5 Implementasi vTaskDelayUntil
30
Example 6 Blocking & Non blocking task
Task 1 dan task 2 dengan prioritas 1, mencetak string secara teratur Task 3: prioritas 2, mencetak string secara teratur, menggunakan vTaskDelayUntil() untuk masuk ke blocking state.
31
Example 6 Continuous Task
32
Example 6 Blocking Periodic Task
33
Example 6 Output
34
Example 6 Urutan Eksekusi
35
Idle Task
36
Listing 19. The source code for the example task prints out the ulIdleCycleCount
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.