0

シリアル ポートを使用して通信する単純なチャットのこのコードを見つけたので、それが機能することを確認したかったのです。しばらくグーグルで検索したところ、ケーブルがないため、RS-232 接続をシミュレートする com0com が見つかりましたが、今は困惑しており、実際にこれを機能させる方法がわかりません。

コード (python):

from serial import * 
from threading import Thread 

class Receiver(Thread): 
    def __init__(self, serialPort): 
        Thread.__init__(self) 
        self.serialPort = serialPort 
    def run(self): 
        text = "" 
        while (text != "exit\n"): 
            text = serialPort.readline() 
            print ("\n machine1: " + text) 
        self.serialPort.close() 

class Sender(Thread): 
    def __init__(self, serialPort): 
        Thread.__init__(self) 
        self.serialPort = serialPort 
    def run(self): 
        text = "" 
        while(text != "exit\n"): 
            text = raw_input("Type your message>>") + "\n" 
            self.serialPort.write(text) 
        self.serialPort.close() 

serialPort = Serial("\\\\.\\CNCA0")

send = Sender(serialPort) 
receive = Receiver(serialPort) 
send.start() 
receive.start()

前もって感謝します。

4

2 に答える 2

1

最初にcom0comを使用して、ループバック付きのシリアルポートを作成する必要があります。つまり、ポートの出力が入力に接続されます。このようにして、シリアルポートから送信したすべてのものが返送されます。

コードスニペットは、Senderクラスを使用してコマンドプロンプト入力を読み取ります。あなたが書いたものは何でもシリアルポートを通して送られます。Receiverクラスはスレッドを生成し、シリアルポートから何かが受信されるのを待ちます。フルラインを受信すると、コマンドプロンプトに入力されます。

注意事項:

  • シリアルポートの名前が実際にCNCA0であることを確認してください
  • Enterキーを押すと、メッセージが表示されます
  • 'exit'と入力し、Enterキーを押してプログラムを停止します
于 2012-05-05T21:09:39.113 に答える