cc 2530-Contiki 시스템 에 대한 시계

1559 단어 contiki
Contiki 시스템 은 굵 은 입자 의 시계(coarse-grained)와 입자 의 시계(fine-grained)두 개의 시스템 시계 가 있다.
그 속
굵 은 입도 시간 은 128 HZ 의 주파 수 를 사용 합 니 다.예 를 들 어 CLOCKSECOND。
입자 도 시간 은 32768 HZ 의 주파 수 를 사용한다.예 를 들 어 RTIMERSECOND。
Contiki 시스템 은 네 가지 유형의 타이머 가 있 는데 그것 이 바로 timer,etimer,ctimer 와 rtimer 이다.
앞의 세 개 는 모두 굵 은 입자 의 시 계 를 사용 하여 시간 을 재 었 습 니 다.rtimer 는 입자 의 시 계 를 사용 하여 시간 을 재 었 습 니 다.그들의 의 미 는 다음 과 같 습 니 다.
timer:수 동적 타이머,지난 시간 만 추적 할 수 있 습 니 다.
etimer:주동 타이머,시간 이 되면 이 벤트 를 보 냅 니 다.
ctimer:주동 타이머,시간 이 되면 함 수 를 호출 합 니 다.
rtimer:실시 간 타이머,시간 이 되면 함 수 를 호출 합 니 다.
etimer 사용 루틴:
static struct etimer etim;
PROCESS_THREAD(my_process,ev,data)
{
	PROCESS_BEGIN();
	while(1)
	{
		printf("Uptime (seconds): %lu
",clock_seconds()); etimer_set(&etim,CLOCK_SECOND); PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&etim)); } PROCESS_END(); }

ctimer 사용 루틴:
static struct ctimer callback_timer;
static void callback(void *data)
{
	printf("%s
",(char *)data); } void application(void) { ctimer_set(%callback_timer,CLOCK_SECOND,callback, "Hello, callback!"); }

rtimer 사용 루틴:
1.시간 설정 시 하드웨어 인 터 럽 트 설정
2.반전 생 성
//  rtimer
static struct rtimer rt;
rtimer_set(&rt,		//  rtimer    
  RTIMER_NOW() + RTIMER_SECOND,//1s
  1,			//     
  rt_callback,		//           
  NULL);		//         

//    
statci void
rt_callbcak(struct rtimer *rt, void *data)
{
	printf("callback!
"); }

좋은 웹페이지 즐겨찾기