HI-TECH C コンパイラでの delay の使用

  • _delay
  • __delay_ms
  • __delay_us

の3つの遅延関数/マクロが使用出来る。

void _delay(unsigned long cycle);

は inline function であり、引数の数に等しいサイクル数だけ遅延させる。

__delay_ms(x) // request a delay in milliseconds
__delay_us(x) // request a delay in microseconds

は、マクロであり、それぞれ、引数の数に等しいミリ/マイクロ秒だけ遅延させる。
この2つのマクロを使用するには、_XTAL_FREQ をヘルツ単位で定義せねばならない。PIC マイコンのクロック数が 4MHz なら、

#define _XTAL_FREQ 4000000

と書くこと。

電子工作室 が詳しい。