[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
601-
701-
この機能を使うにはJavaScriptを有効にしてください
|
■■■20レス以内で済むF-BASICの質問はこちらへ■■■
656
:
名無しさん
:2015/11/06(金) 11:03:33
>>654
WindowsやPC/AT機に時刻正確性を求められても・・
WAIT命令は100分の1秒単位ですが、
とりあえずはAPIのSleepEx関数を使うとか。一応は1ミリ秒単位の指定ですが。
https://msdn.microsoft.com/ja-jp/library/cc429359.aspx
計測間隔をできるだけ正確にということであれば、次のような感じでどうでしょう
・まず、プログラム変更
1.受信バッファを大きくする。
CM$="COM0:(S7N2N7NNN,RB4096)"
open CM$ for output as #2 : open CM$ for input as #1
2.送信コマンドをWAIT命令をはさんで一定間隔で連続で送る。
最低限の送受信時間からコマンド送信間隔を試算すると、
スタートビット(1)+データ長(7)+ストップビット(2)=計10bit
受信データ14*4フレーム+送信コマンド(2)=計58キャラクタ
580÷9600bps=約6〜7/100秒
※実際は計測器側の測定データ作成時間も必要なので、当然これよりは
時間がかかる。
for I%=1 to 50
print#2,"D";chr$(13);
wait 10
next I%
3.あとで一括して受信バッファから取得する。
for I%=1 to 50
line input#1,R$(0, I%)
line input#1,R$(1, I%)
line input#1,R$(2, I%)
line input#1,R$(3, I%)
next I%
・次に実行時
1.プログラムを起動する。ただし、まだ計測開始しない。
(このとき、F-BASIC開発環境経由ではなく、実行プログラムを直接起動すること)
2.タスクマネージャを呼び出して、[プロセス]のタブから当該実行プログラムを
探して、右クリック-[優先度の設定]-[高(H)]とか[リアルタイム(R)]に設定。
※少しでも正確性をあげるため。
3.計測開始を指示。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板