COUNTER



新BLOG
 
新BBS
MN-BBS
旧BBS
CALENDAR
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
<<  2024 - 11  >>
 
LOGIN
現在モード: ゲストモード
USER ID:
PASS:
CATEGORIES
ARCHIVES
PROFILE
OTHERS
    処理時間 0.304876秒
POWERED BY
POWERED BY
ぶろぐん
DESIGN BY
ブログンサポート
          
--「PIC」プログラミング再び (6)---
 現在使用しているフリーのコンパイラで、__delay_μs()

 という単なる待ち時間の関数が使える。以前から使えたのか、

 あるヴァージョンかから使えるようになったのかは、分から

 ないが、前述の教科書のように自分で関数をつくらなくて

 いいので便利だし、結構使う関数だと思う。

 ただ、実際のところ、どのぐらい時間なのか、あれこれやって

 いるプログラムで簡易的に測定してみた。

 PICで

 for(;;){
RA1=1;
__delay_us(1);
RA1=0;
__delay_us(1);

}

 のプログラムを実行すると、矩形波が生成できるので、

 __delay_us(1)と__delay_us(2)と赤の部分を変更して、両者

 の差を見てみると、たぶん、実際の待ち時間が分かる。

 Cの場合は、1命令の実行時間がわからないので、命令

 の実行時間を相殺しないと、実待ち時間が分からないよう

 に思う。

 __delay_us(1)のオシロの画面で、Hの時間は、約40μs。

 

 __delay_us(2)のオシロの画面で、Hの時間は、約56μs。

 

 56-40で、__delay_us(1)の実時間は、16μsということになる。

 約16倍の待ち時間である。ちなみに、__delay_us(3)にしてみると、

 Hの時間が約72μsなので、16μsずつ増えている。

 やはり、細かい制御をするには、命令のクロック数の分かって

 いるアセンブラー。でも、アセンブラーは、私には、超難解。

 Cが似合ってる。Webはくしゅ

| mabo52 | 09:17 | comments (0) | trackback (0) | DIY::  -pic |
コメント

コメントする









この記事のトラックバックURL
http://mabo52.sakura.ne.jp/tb.php/743
トラックバック

こんな物欲しいな
CLOCK
NEW ENTRIES
COMMENTS
    ---SPINDLEのPWM制御 (その2) (7)
  • TR >06.18
    ---番外編---
  • TR >06.02
    ---SPINDLEのPWM制御 (その2) (5)
  • mabo >05.30
保留中コメント:10件
LINKS
    相互リンクさせていただいてます。
  • The Rider
Search Box
名言集
メール
   
連絡は下記から
名前:

メールアドレス:

件名:

メッセージ(必須):


TOP PAGE