Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

FreeRTOS Tutorial. Struktur sebuah task State sebuah task.

Presentasi serupa


Presentasi berjudul: "FreeRTOS Tutorial. Struktur sebuah task State sebuah task."— Transcript presentasi:

1 FreeRTOS Tutorial

2

3

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 Blocked – 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


Download ppt "FreeRTOS Tutorial. Struktur sebuah task State sebuah task."

Presentasi serupa


Iklan oleh Google