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
と書くこと。
電子工作室 が詳しい。