Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

FreeRTOS Tutorial.

Presentasi serupa


Presentasi berjudul: "FreeRTOS Tutorial."— 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 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


Download ppt "FreeRTOS Tutorial."

Presentasi serupa


Iklan oleh Google