[STM32 / MBED] MBED Timer

Timer 

한 줄 요약 : 변수하나에 시간 개념을 할당하여 단위는 초이며 시간을 시작하고 중지하면 시간을 젤 수 있다.

예제 :

 #include "mbed.h"
 
Timer t; // Timer의 명칭인 t 로 정한다.
 
int main() {
    t.start(); //t 가 시간재는것을 시작한다.
    printf("Hello World!\n"); // 시작되었다는 것을 시리얼로 출력한다.
    t.stop(); //t 가 시간재는것을 중지한다.
    printf("The time taken was %f seconds\n", t.read()); // t가 시간 잰 것을 시리얼 출력으로 확인한다.
}

관련 주소 https://os.mbed.com/handbook/Timer

 

Timeout

한 줄 요약 : 함수를 쓰는 시간에 시작하여 원하는 시간이 지나면 특정 함수를 호출하여 실행한다. (한번만 호출)

예제 :

 #include "mbed.h"


Timeout flipper; // Timeout의 명칭을 flipper 로 정한다.
DigitalOut led1(LED1);
DigitalOut led2(LED2);
 
void flip() {
    led2 = !led2;
}
 
int main() {
    led2 = 1;
    flipper.attach(&flip, 2.0); // flipper 를 초기화하고 2초뒤에 flip 함수를 호출하도록 설정한다. (한번만 호출)
 
    // 메인 함수는 계속 작동하면서 2초뒤에 인터럽트 호출을 통해 flip 함수가 실행된다.
    while(1) {
        led1 = !led1;
        wait(0.2);
    }
}

관련 주소 : https://os.mbed.com/handbook/Timeout

 

Ticker

한 줄 요약 : 함수를 쓰는 시간에 시작하여 원하는 시간이 지나면 특정 함수를 호출하고 다시 초기화 하여 원하는 시간이 되면 호출 하는 것을 반복한다.

예제 :

 #include "mbed.h"


Ticker flipper; // Timeout의 명칭을 flipper 로 정한다.
DigitalOut led1(LED1);
DigitalOut led2(LED2);
 
void flip() {
    led2 = !led2;
}
 
int main() {
    led2 = 1;
    flipper.attach(&flip, 2.0); // flipper 를 초기화하고 2초뒤에 flip 함수를 호출하도록 설정한다. (반복하여 호출)
 
    // 메인 함수는 계속 작동하면서 2초뒤에 인터럽트 호출을 통해 flip 함수가 실행된다.
    while(1) {
        led1 = !led1;
        wait(0.2);
    }
}

관련 주소 : https://os.mbed.com/handbook/Ticker

 

time (RTC가 내장되어있는 플랫폼)

한 줄 요약 :RTC(Real Time Clock)를 사용하여 날짜를 설정하고 현재 시간을 체크한다.

예제 :

 #include "mbed.h"


int main() {
  set_time(1256729737);  // RTC의 시간을 설정한다. 2009년 8월 28일 수요일 11시 35분 37초
 
    while (1) {
        time_t seconds = time(NULL);

        
        printf("Time as seconds since January 1, 1970 = %d\n", seconds); 
//1970년1월1일 이후 흐른 시간을 초 단위로 표시

        
        printf("Time as a basic string = %s", ctime(&seconds)); 
//요일, 월, 일, 시간, 년 순으로 문자열로 표시
 
        char buffer[32];
        strftime(buffer, 32"%I:%M %p\n", localtime(&seconds));
        printf("Time as a custom formatted string = %s", buffer); 
        
        wait(1);

  }
}

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

임베디드 보드

번호 제목 글쓴이 날짜 조회수
32 아두이노 [강좌] 31. I2C 통신 (3) - 온도 센서(TMP102) 실습하기 icon 양재동메이커 03-20 27,211
31 아두이노 [강좌] 30. I2C 통신 (2) - Wire 함수 알아보기 icon 양재동메이커 03-20 31,560
30 아두이노 [강좌] 29. I2C 통신 (1) - I2C 통신이란 무엇인가 icon 양재동메이커 03-20 36,256
29 아두이노 [강좌] 28. 시간 관련 함수 (3) - MsTimer2 라이브러리 icon 양재동메이커 03-20 26,811
28 아두이노 [강좌] 27. 시간 관련 함수 (2) - BlinkWithoutDelay 예제 icon 양재동메이커 03-20 20,749
27 아두이노 [강좌] 26. 시간 관련 함수 (1) - delay() / millis() icon 양재동메이커 03-20 27,034
26 아두이노 [강좌] 25. tone()/noTone() 함수 (2) - 부저 실습 icon 양재동메이커 03-20 21,182
25 아두이노 [강좌] 24. tone()/noTone() 함수 (1) - 함수 설명 icon 양재동메이커 03-20 22,933
24 아두이노 [강좌] 23. Interrupt(인터럽트) (3) - 인터럽트 함수 알아보기 icon 양재동메이커 03-20 22,908
23 아두이노 [아두이노 강좌] 22. Interrupt(인터럽트) (2) - 스위치로 LED 켜고 끄기 예제 icon 양재동메이커 03-20 28,931
22 아두이노 [강좌] 21. Interrupt(인터럽트) (1) - 인터럽트란 무엇인가 icon 양재동메이커 03-16 21,185
21 아두이노 [아두이노 강좌] 20. String (3) - 유용한 함수들 icon 양재동메이커 03-16 28,705
20 아두이노 [강좌] 19. String (2) - String() 생성자와 + 연산 icon 양재동메이커 03-16 19,266
19 아두이노 [강좌] 18. String (1) - 문자형(char) 배열과 String icon 양재동메이커 03-16 28,512
18 아두이노 [강좌] 17. Serial 통신(3) - 유용한 기능들 icon 양재동메이커 03-15 22,888
17 아두이노 [강좌] 16. Serial 통신(2) - 시리얼 통신 함수 알아보기 icon 양재동메이커 03-15 29,423
16 아두이노 [강좌] 15. Serial 통신(1) - 시리얼 통신이란 무엇인가 icon 양재동메이커 03-15 25,766
15 아두이노 [강좌] 14. analogRead()/analogWrite() 실습 - 조도 센서 + LED icon 양재동메이커 03-15 18,758
14 아두이노 [강좌] 13. analogWrite() 실습 - LED 밝기 조절하기(Fade 예제) icon 양재동메이커 03-15 19,143
13 아두이노 [강좌] 12. 아날로그 기능(2) - analogWrite() 함수 icon 양재동메이커 03-14 21,572