论坛: 公开讨论 (Thread #27509)

LogFailに改行が入りません。 (2010-10-04 11:20 by tako2 #53217)

TeraTerm(4.66)にてマクロを使いRS232Cの受信データをLogファイルにしたいのですが、改行コード(CR)が入らずに困っています。
>logopen 0 0 0 1 1
でオープンしています。

RS232C受信データ(ハイパーターミナルにてファイル化し、CRを確認)
>1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR]
>1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR]
>1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR]

TeraTermの受信データウィンドでも1行のみ表示するので、改行は入っています。(LFは無い)

TeraTermのLogファイル(改行が入らない!!)
[Mon Oct 04 02:02:49.656 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x00001.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x00001.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000

改行がCR+LFの機器では問題ありません。改行コード指定の下記の通りです。
>TERATERM.INI
>; Convert a received new-line (CR) char to CR/CRLF/LF
>CRReceive=CR
>; New-line code to be transmitted (CR/CRLF)
>CRSend=CR

下記の様なLogファイルにする方法はありますか?
>[Mon Oct 04 02:02:49.656 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000
>[Mon Oct 04 02:02:49.156 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000
>[Mon Oct 04 02:02:49.256 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000

RE: LogFailに改行が入りません。 (2010-10-04 11:23 by tako2 #53218)

最後の箇所の修正です。

下記の様なLogファイルにする方法はありますか?
>[Mon Oct 04 02:02:49.656 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR][LF]
>[Mon Oct 04 02:02:49.156 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR][LF]
>[Mon Oct 04 02:02:49.256 2010] 1.35,-0.60,80.44,0.18,0.05,0.06,-0.01,-0.02,-1.00,0x0000[CR][LF]

受信データで[CR]はLogに渡される時に自動的に[CR][LF]に変換される仕様だったと思います。
回复到 #53217

RE: LogFailに改行が入りません。 (2010-10-07 19:21 by doda #53259)

CRReceive=CRLF にして試してみて下さい。
回复到 #53218

RE: LogFailに改行が入りません。 (2010-10-08 10:56 by tako2 #53267)

>>CRReceive=CRLF にして試してみて下さい。

うまく行きました。
ありがとうございます。

CRLFとCRが反転している気がする・・・・
回复到 #53259

RE: LogFailに改行が入りません。 (2010-10-08 15:03 by doda #53268)

[メッセージ#53267 へのフォロー]

> CRLFとCRが反転している気がする・・・・

間違えやすいのですが、CRReceive の設定は、"相手から送られて来る改行の形式"を指定するものではなく、
"相手から送られて来た CR の取り扱い方"を指定するものです。
http://ttssh2.sourceforge.jp/manual/ja/menu/setup-terminal.html

CRReceive=CR の時は CR を受信した時にそのまま CR として扱い (CR LF が送られてきたら CR LF になる)
CRReceive=CRLF の時は CR を受信した時に CR LF へ変換します。(CR LF が送られてきたら CR LF LF になる)

# "端末の設定"ダイアログではこの辺りが判りづらい記述になっていますが、スペースが無くて…
回复到 #53267

RE: LogFailに改行が入りません。 (2010-10-13 13:56 by tako2 #53347)

IWAMOTO Kouichi (doda)様

詳しい解説をありがとうございます。
括弧にて追記頂いた解説がHELPに記載されていれば有難いです。

宜しくお願い致します。
回复到 #53268