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

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

647名無しさん:2015/11/03(火) 12:05:03
>>646
 あ、“$”が「この間、省略」に見えたんですね、すみません。

>print eof(1), eof(2)
 確認がとれていないのですが、EOF関数・LOF関数はたぶん受信バッファしか取れないはず。

 TRIM$関数系は日本語対応で、半角空白および全角空白に作用します。

それで、ハングアップについてですが、可能性についていくつか。
・EOF(1)で真が返される間(空)はLINE INPUT#1 の実行は避けなければならない。
(とりあえずは受信タイムアウトの設定をしない限り)
・PRINT#2,"D" で処理後、ただちにデータが送り返されるわけではない。
(測定値確定と送信用測定データ作成、送受信切り替えのタイムラグ)
・コマンド"D"[CR]とコマンド"D"[CR/LF]とで、計測機側の動作の影響が不明。
・コマンド送信後、すべてのデータ受信を完了しないうちに次のコマンドを送ると問題の可能性。
・もし、コマンド送信-データ受信を一度に複数回おこなっている場合は、
計測機側の処理限界を超えた可能性。
・コマンド送信後、測定対象物や計測機側の問題で「欠測」した場合。この動作は不明。

・「コマンド送信 〜 データ受信完了」の一連のサイクルを高速で繰り返してはならない。
資料( >611 )より、
Caution:
For exact measurement and good communication with PC, use “data request” signal
once per one second.
Data Conversion time:
Data Conversion time is based on conversion time of ADC included in DMM and is 2 or
3 times per one second.
[翻訳]
注意:正確な測定とPCとの良好な通信のためには、1秒に1度「データ要求」信号を使用する。
データ変換時間:データ変換時間は、DMM内蔵ADC(訳注:アナログ-デジタル変換)の変換時間を
基本として、1秒あたり2〜3回である。
[了]


 最後に文字列先頭のNUL(00h)を除去する関数プログラム例を。(空白は除去しません)
(使用例): R$(0)=LTRIMCTRL$(R$(0))


declare function LTRIMCTRL bdecl (S as string) as string
function LTRIMCTRL$ (S$)
'機能:引数で指定された文字列の左側の制御コード等を取り除きます。
var I as long ,P as long ,N as long
LTRIMCTRL$=S$
N=len(S$)
if N=0 then exit function
P=0 :I=0
do
I=I+1
select case asc(mid$(S$,I,1))
case is < &H20
case &H7F,&HFF
case else
exit do
end select
P=P+1
loop while I < N
if P > 0 then LTRIMCTRL$=mid$(S$,P+1)
end function


新着レスの表示


名前: E-mail(省略可)

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

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

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

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