
No.3ベストアンサー
- 回答日時:
>実は業務で連続的に16bitのデータを送る通信システムを作成しているのですが、その送信するデータとデータの間のインターバル的な時間をマイクロ秒単位で管理したいのです。
>守秘義務が絡むのであまり詳しくお話できなくて申し訳ありません。。。
インターバルタイムが最低限の時間(オーバーを許容)なら問題ないと思いますが、そのインターバルタイムを死守しないとマズイならWindowsOSでは無理ですので、別のOSで特にリアルタイム性がメインのリアルタイムオペレーティングシステム(RTOS)を捜すべきだと思います。
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A2% …
インターバルタイムのオーバーが許容されても、QueryPerformanceCounterとPerformanceCounterは最近のCPUのターボ・ブーストなどのためで不正確になっています。
ターボ・ブーストとは。
http://www.pasonisan.com/customnavi/cpu_corei/10 …
最近のCPUの場合はこのターボ・ブーストの動作状況次第でQueryPerformanceCounterの値が実際の経過時間とズレてしまうのです。
なので、ブーストしないCPUなどの選択も考えないといけないでしょう。
QueryPerformanceCounterを実時間計測には使えない
http://d.hatena.ne.jp/shiku_otomiya/20100218/p1
あるいは、タイマカウントーを外部のマイコンに任せるとか通信自体を外部のマイコンにさせるとかすれば正確な動作は期待できます。
ご返事ありがとうございます。
どうやらWindowsOS単体では実装は難しそうですね。。。
ある程度のオーバーは許容範囲なので現状のままで行きたいと思います。
それでも厳しくなりましたら教えていただいたURLを参考に、機材、環境レベルでアプローチしてみたいと思います。
ありがとうございました。
No.2
- 回答日時:
No.1
- 回答日時:
たとえタイマーがマイクロ秒単位の精度が出たとしてもマルチタスクOSであるXPが勝手に一定時間ごとにタスクを切り替えるので意味ないと思いますが?
標準的なWindowsにはOSの制約から使い物になるマイクロ秒単位のタイマーは無いと思います。
PerformanceCounterを使っても昨今の動的にクロックをブーストするCPUやマルチコアCPUのお陰でまともに計測できませんし。
なぜ必要なのかを、まず説明してもらうと答えが得られやすいと思います。
ご返事ありがとうございます。
実は業務で連続的に16bitのデータを送る通信システムを作成しているのですが、その送信するデータとデータの間のインターバル的な時間をマイクロ秒単位で管理したいのです。
守秘義務が絡むのであまり詳しくお話できなくて申し訳ありません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レジスタマップって何ですか?
-
組み込みマイコンでのソフトウ...
-
PLCとPCの通信
-
古い計量機器からのrs232cを使...
-
Macターミナルで実行中のプログ...
-
VBAの配列サイズとメモリに関して
-
winsockでソケット通信の開発を...
-
メッセージボックスのボタン名変更
-
VB.NETで起動したExcelの閉じ方...
-
DoEvents関数って何?
-
C言語で、メモリを解放しないで...
-
ACCESS側からEXCELの書式を設定...
-
メモリが不足しています(VBA)
-
「スイッチングハブのバッファ...
-
C# シリアル通信でデータ受信...
-
C++ 画像をダウンロード
-
VBSで応答不要のメッセージボッ...
-
C#でのbatファイル実行結果取得
-
VC++スレッドの正しい終了のさ...
-
タスクマネージャーのプロセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジスタマップって何ですか?
-
PLCとPCの通信
-
組み込みマイコンでのソフトウ...
-
グラフィックLCD SG12...
-
大人の科学マガジンVol.24 GMC-...
-
USBハブの自作について
-
CPUから外部PHYレジスタのアク...
-
シリアル通信でのデータ取りこぼし
-
AVRでUART通信をしたい
-
機械語のレジスタペアについて
-
メモリースループットとは?
-
H8/3052 プログラムについて
-
SH7144でパルス幅を測定したい。
-
電子工作初心者ですが、今回pic...
-
システムコールを使わずに画面...
-
マイコンのCプログラミングで未...
-
micropythonコード 修正
-
マイコンSPI入門
-
H8/3048 マイコンボードについて
-
H8S2368マイコンのTCSR_1レジス...
おすすめ情報