- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PICマイコンにつきまして教えてください。)
初心者のためのPICマイコンに関する質問
このQ&Aのポイント
- PICマイコンを使用して実験機を作成中の初心者が、処理時間の予測方法やLCDの表示不具合、MPLAB IDEでのデバッグについて質問しています。
- C言語での処理時間の予測方法についても教えてほしいという要望があります。
- デバッグシミュレータを使用して処理の時間を確認する方法についても質問しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>nsecオーダーの時間計測などを行う場合、どのような方法をとるのでしょうか? そんな高精度測定は専用機を使うしかないでしょう。 というか「計測しながら処理」は現状のハイエンドPCでも不可能と思っていいです。
その他の回答 (1)
- D-Matsu
- ベストアンサー率45% (1080/2394)
回答No.1
(1) Cの場合、同じコードでもどのようにアセンブラコードに展開されるかはコンパイラ設定次第ですから、ソースコードから直接というのは不可能と言っていいでしょう。 ただ、どのように設定しても「アセンブラに変換する」という過程が必ず入ります。 ですから「変換後のアセンブラコードから予測する」というのが正しい方法です。 (2) 「PIC」というだけでは判断しづらいですが、数MHz程度のマイコンだと秒間20万回の割り込み処理(5us毎=200kHz)をさばくのはまず不可能でしょう。 タイマー割り込み処理が終わる前に次の割り込みが入っていていつまでも割り込みから抜けられない、という可能性が高いと思いますよ。 (3) フリーランタイマーがあれば開始時と終了時のタイマー値を取ってその差から実行時間を見るでもいいのではありませんか? もう少し実行時間が長ければポート出力とオシロスコープという手もありますが。
お礼
ご回答ありがとうございます。 大変参考になりました。 尚、(2)でPICは20MHzを用いています。 今作っている実験機ではないのですが、今後、2種類の信号時間差(伝播差)を 測定する実験機を作成予定なのですが、その伝播差が数nsec~10μsec程度の ため、どのようにこの伝播差を計測したらよいか考えています。 当初はPIC、20MHzでTimer割り込みで、随時2種類の信号変化をみようと思 っていたのですが、Timer割り込み5μsecでも処理が追いつかないということな ので、別の方法を検討しないといけないと思っています。 (クロックの最大はPICデータシート上20MHzと記載があったので、それ以上 クロック周波数をあげるのは難しいそうです。) nsecオーダーの時間計測などを行う場合、どのような方法をとるのでしょうか? そのような専用IC、そのような測定の際の回路設計が必要?? ご存じでしたら、教えて頂ければ幸いです。 よろしくお願いいたします。