아두이노 freeRTOS 튜토리얼 7Arduino FreeRTOS2015. 1. 14. 21:53
Table of Contents
반응형
태스크들이 딜레이 함수에 의해서 대기상태가 되면 IDLE 태스크가 실행되면서 후크 함수 vApplicationIdleHook 가 호출된다. 이때 마다 이 함수 내부에서 카운터를 증가시킨다. 즉 아래에서 보이는 숫자는 후크 함수가 호출된 횟수이다.
두 개의 태스크에서 모두 딜레이 함수를 뺴버리면 후크함수가 한번도 호출되지 않는 것을 볼 수 있다.
- /* FreeRTOS.org includes. */
- #include "FreeRTOS_AVR.h"
- //#include "task.h"
- /* Demo includes. */
- #include "basic_io_avr.h"
- //태스크에서 사용될 함수
- void vTaskFunction( void *pvParameters );
- //idle task hook 함수에 의해서 값이 증가되는 변수
- volatile unsigned long ulIdleCycleCount = 0UL;
- //태스크로 넘겨줄 문자열 선언
- const char *pcTextForTask1 = "Task 1 is running\r\n";
- const char *pcTextForTask2 = "Task 2 is running\t\n";
- /*-----------------------------------------------------------*/
- void setup( void )
- {
- Serial.begin(9600);
- //두 개의 태스크를 우선순위 다르게 해서 생성
- xTaskCreate( vTaskFunction, "Task 1", 200, (void*)pcTextForTask1, 1, NULL );
- xTaskCreate( vTaskFunction, "Task 2", 200, (void*)pcTextForTask2, 2, NULL );
- //스케줄러 시작
- vTaskStartScheduler();
- for( ;; );
- // return 0;
- }
- /*-----------------------------------------------------------*/
- void vTaskFunction( void *pvParameters )
- {
- char *pcTaskName;
- pcTaskName = ( char * ) pvParameters;
- for( ;; )
- {
- //태스크이름과 후크 함수가 호출된 횟수를 출력한다.
- vPrintStringAndNumber( pcTaskName, ulIdleCycleCount );
- //250 밀리세컨드 동안 대기 상태가 된다.
- vTaskDelay( 250 / portTICK_PERIOD_MS );
- }
- }
- /*-----------------------------------------------------------*/
- //다른 태스크들이 실행되지 않고 IDLE 태스크가 실행 중일 때 호출된다.
- extern "C"{ // FreeRTOS expects C linkage
- void vApplicationIdleHook( void )
- {
- //후크 함수 내부에서 카운터를 증가시킨다.
- //이 함수가 호출된 횟수를 가리킨다.
- ulIdleCycleCount++;
- }
- }
- //------------------------------------------------------------------------------
- void loop() {}
반응형
'Arduino FreeRTOS' 카테고리의 다른 글
아두이노 freeRTOS 튜토리얼 9 (0) | 2015.01.15 |
---|---|
아두이노 freeRTOS 튜토리얼 8 (0) | 2015.01.15 |
아두이노 freeRTOS 튜토리얼 6 (0) | 2015.01.14 |
아두이노 freeRTOS 튜토리얼 5 (0) | 2015.01.14 |
아두이노 freeRTOS 튜토리얼 4 (0) | 2015.01.14 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!