메뉴 건너뛰기

NEOS 예제 코드

SystemClock 을 활용한 예제

관리자1 2017.01.10 09:01 조회 수 : 32

다음은 SystemClockGetHz() / SystemClockSetHz() 함수를 활용한 예제입니다.

 

SystemClock 을 100으로 설정 후 0.1초 후의 Clock 에 대한 차이를 확인하는 예제입니다.

 

#include <neos.h>


#define NEW_SYSCLK_TICK 1000

#define TICK_MARGIN     1


void sysClockExam1(void)

{  

    UInt64   sysClockTick1, sysClockTick2;
    UInt64   diff;
    Count    orgClock;
    Status   status;


    orgClock = SystemClockGetHz();
    status = SystemClockSetHz(100);
    if (status != SUCCESS)
    {
        return;
    }


    /* get the system clock tick */
    sysClockTick1 = SystemClockGetTick();

    /* delay for 0.1 second */
    if((result = ThreadDelay(100 * 1000000ULL)) != SUCCESS)
    {
        return;
    }


    /* get the system clock tick */
    sysClockTick2 = SystemClockGetTick();

    /* check difference between tick times. gap is 10. */
    diff = sysClockTick2 - sysClockTick1;


    if((diff < 10 - TICK_MARGIN) || (diff > 10 + TICK_MARGIN))
    {
        return;
    }


    status = SystemClockSetHz(orgClock);
    if (status != SUCCESS)
    {
        return;
    }

}
위로