[戻る]
過去ログ [ 0001 ]
過去ログ:     ワード検索: 条件: 表示:

タイトル
記事No
投稿日
投稿者
参照先
XC8 での1命令にかかるクロック
660
: 16/08/09-21:48
watari
https://ja.wikipedia.org/wiki/PIC_(%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9)
こんばんは.掲示板の方々お世話になります.
watari といいます.初めての質問なのでよろしくお願いします.

現在私は,8bit pic の16f1827 をXC8 コンパイラを使ってプログラミングしています.現在私は,エンコーダを使ってDCモータをフィードバック制御することを考えているのですが,モータの速度が速い場合に気になるのはC言語の1命令にかかるpic のクロックです.例えば,単純なレジスタへのbyte 単位での書き込み

PR2 = 0xFF;

といった命令は何クロック分かかるのでしょうか?特に気になるのは,一般的にC言語の1命令(ここではセミコロンで区切られた区間に書かれたものとします)にかかるクロックは同じなのでしょうか?それとも異なるのでしょうか?

また,このようにクロックを気にする場合にはアセンブラを使ったほうが良いのでしょうか?Pic のwikiをみると,アセンブラの1命令は8bit picの場合には 4クロックサイクルかかると明記されていますので.
▲pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: XC8 での1命令のクロック
665
: 16/08/24-15:44
Gokan <gokan@picfun.com>

Cコンパイラがアセンブラに変換したときの命令数は、コンパイラの
最適化のレベルにより大きく変わります。
また展開したアセンブラのリストはDisassembly Listで見られます。
モータのエンコーダの処理はかなり高速処理になるので、通常は
QEIモジュールが実装されているPIC24EかdsPICのモータファミリを
使います。


> こんばんは.掲示板の方々お世話になります.
> watari といいます.初めての質問なのでよろしくお願いします.
>
> 現在私は,8bit pic の16f1827 をXC8 コンパイラを使ってプログラミングしています.現在私は,エンコーダを使ってDCモータをフィードバック制御することを考えているのですが,モータの速度が速い場合に気になるのはC言語の1命令にかかるpic のクロックです.例えば,単純なレジスタへのbyte 単位での書き込み
>
> PR2 = 0xFF;
>
> といった命令は何クロック分かかるのでしょうか?特に気になるのは,一般的にC言語の1命令(ここではセミコロンで区切られた区間に書かれたものとします)にかかるクロックは同じなのでしょうか?それとも異なるのでしょうか?
>
> また,このようにクロックを気にする場合にはアセンブラを使ったほうが良いのでしょうか?Pic のwikiをみると,アセンブラの1命令は8bit picの場合には 4クロックサイクルかかると明記されていますので.
▲pagetop

- WebForum -