したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

614598:2015/10/23(金) 05:13:57
>>613
 その通り単純なもので、"D"文字列を受けて計測データを文字列で送信する
仕組みで、PC側の状態はおかまいなしで送信するものと思われます。

※GW-BASICの",rs"オプションが気になりますが。
(RS suppresses detection of RTS(Request To Send))


 「受信バッファが空でない!」の行は念のため入れたもので、動作テストを連続で
行った場合とか、まあ無くは無いかと・・。それにNUL charを受信したとのご報告の
件もあるので。 引っかかるとは思いませんでしたが。
本当に入っているのかは「?」ですけど。OPEN時にバッファをフラッシュしないのか?

 とりあえずその行は次のように変更して、画面にそのデータを表示させてみましょう。

if not eof(1) then R$(0)=input$(LOF(1),#1):print "受信??";R$(0):R$(0)=""

 次にコマンド送信ですが、送信バッファに溜まったままで測定器へは送信されていない
可能性も考えられなくはありません。これはprint# を前の形に戻すと変わるかもしれません。

print#2,"D" '←←←print#2,"D";chr$(13);

 そして、print#を変更しても戻しても「!!受信始!!」後のループで進まない
場合は一度、受信チェックのループ行を外してみます。

'while lof(1) < 14*4 :print ... ←コメントアウト


 そして、ここまで変更して、print#を変更しても戻してもうまく受信できない場合は、
さらに変更します。

※表示される受信データはうまく改行されないためおそらく表示がおかしくなると思います。
※もし「wait 100」を外すと「データバイト数」の値が増えるようなら・・考えます..。

print:print"!!受信始!!"
wait 100
R$(0)=input$(LOF(1),#1)
print "データバイト数=";len(R$(0))
print R$(0)
close
stop :end


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板