2012-01-26 15 views
0

1)tclエディタとコンパイラ(またはインターペント)を組み合わせたフリーウェアはありますか?TCLとTCLシリアルポート(COM1)コマンド用のフリーコンパイラまたはインタプリタ

2)fconfigureを使用してシリアル接続(COM1)を開いた後、接続経由でいくつかの文字列を送信するにはどうすればよいですか?いくつかのHWに接続する必要があり、CLIでスクリプトを実行できるようにしたいと考えています。

おかげ

+0

を通常の質問の多くを尋ねるために貧しいと考えられています:次の例は、Windows上で動作しますが、私はまだ* nixのボックスに同じことを試していない...それはかなりシンプルに期待のパターンマッチング能力1つの "質問"に含まれています。一度に1つずつ質問してください。それは良い答えを出すのが簡単です。 –

答えて

2
  1. TCLエディタやコンパイラ(またはinterpenter)を組み合わせた任意のフリーウェアはありますか?

Tclソースコードは完全に公開されています。ダウンロードしてビルドして "インタープリタ"を得る(実際には、バイトコードは内部的にすべてをコンパイルする)。大部分のLinuxディストリビューション(既定でインストールされているかどうかを忘れてしまった)を使ってTclをあらかじめビルドして配布したり、Tclのシングルファイルですぐに配布される "tclkit"(Google for it)とTk(GUI用)です。 ActiveStateの主要なプラットフォーム用のActiveTclディストリビューションもあります。それは少し商業(しかし、ゼロコスト)ですが、非常に良い(私はそれを使用し、他の多くのTclユーザーも)。

私はEmacsを使ってTclを編集していますが、プレーンテキストファイルを編集できるものはすべて問題ありません。私はvimとEclipseの両方がTclをサポートしていることを知っています。

唯一完全 Tclコンパイラは商用です。私が本当にお勧めするのは、ActiveStateの製品であるTDKの一部だけです。 (オープンソースソフトウェアを書いているなどの理由で、コードの難読化が必要ない場合は、はコンパイル時にを気にしないでください。標準のTclビルドの中に組み込まれているコンパイラはうまくいきます。 (これはバイトコードをファイルから読み込むよりも速くバイトコードをコンパイルしますが、これは奇妙ですが素敵です。)また、非常に良いTcl IDE(さらにいくつかの言語を含む)であるはずのKomodoという製品を実行します。私はまだそれを自分で試してみました。私は接続を介して送信することができますどのようにfconfigure、複数の単語の文字列を使用してシリアル接続(COM1)の開封後

  1. ?いくつかのHWに接続する必要があり、CLIでスクリプトを実行できるようにしたいと考えています。

シリアルポートはで開かれopen(当たり前!)、は(あなたが新しい十分のTclを持っている場合やchan configure、それは実際には同じコマンドです)fconfigureを設定し、putsとに書き込まれました。

set line [gets $serPort] 

をそして閉鎖:あなたは、このようなデバイスからのラインを読んだ

set serPort [open "COM1" r+] 
fconfigure $serPort -mode 9600,n,8,1 
puts $serPort "Yo there, serial device!" 

:私はあなたのシリアルデバイスのための正しい設定が何であるかは考えを持っていないたことを警告しますあなたがこのようにしたら次のようにしてください:

close $serPort 

多分あなたが知る必要があることがあります。このサイトでさらなる質問をするだけで、誰かが助けようとします。

2

私は完全なIDEを試したわけではありませんが、Active StateのKomodo Editの無料版が本当に好きで、Windowsで実行可能ファイルを作るにはtclshkitを組み合わせて使用​​します。

私はシスコスイッチをプログラムするためにシリアルポートを使用してExpectを使用して運が少しありました。

package require Expect 
set com "COM1" 

if { [ catch { set serial [ open "$com:" "RDWR" ] } ] } then { 
     puts "Error! Cannot open $com!" 
     exit 1 
} 
fconfigure $serial -mode 9600,n,8,1 

spawn -leaveopen $serial 
send "somecommand\r" 
expect "someprompt" 

close $serial 
関連する問題