nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

213mS@"Delay10KTCYx(n):"

C18にはdelays.hというのがあって、
HiTEC Cではdelay.hを引き込むと__delay_us(x)とか__delay_ms(x)があって便利でしたが、
こちらはちょっと違っています。
こっちは1命令時間を基本にして次の5種類が用意されています。
1命令はPICクロック4サイクルなので、
普通は4MHzの倍数セラロック20MHzを使って発振回路が発振し、
その5分の一の4MHzで96MHzの内蔵PLLを動かし、
クロックの1と0のデューティを50%にするためだろうか、
1回分周して48MHzというのがPICクロックとなるのが定石らしく、
まあラトルズ基板もそうなんで、
1命令タイムは12MHzで83.3nSになります。
引数のほうはnがunsigned charですから0〜255まで指定できます。
Delay1TCY(n):1命令
Delay10TCYx(n):10命令
Delay100TCYx(n):100命令
Delay1KTCYx(n):1000命令
Delay10KTCYx(n):10k命令 
これだと引数0で256*83.3nS*10*1k=213mSとなるようです。


今までの書き込み類をまとめて掲載したホームページは次です。http://chitose6thplant.web.fc2.com/