|
分類:[.NET 全般]
SerialPortコンポーネントを使ったRS232C通信で教えてください。
2台のPC(2台とも同じプログラム)で通信させた場合には問題なく動作したのですが、そのプログラムを使って、PCと機器(カメラコントローラ)で通信させようとすると、うまくいきません。
(もちろん、通信ケーブルはストレート→クロスに交換してます)
PC→機器への送信はできるのですが、PC←機器への受信ができません。
機器側から信号が出ているのは確認済です。
ブレークポイントを使って確認したのですが、下記
strDataReceived = SerialPort1.ReadLine
の所で、動作が止まっている感じです。
どこがおかしいのかご教授願えませんでしょうか?
===================
SerialPort1の主要プロパティ
(機器側も同様です)
BaudRate:115200
DataBits:8
Handshake:None
Parity:None
StopBits:One
受信関連コード
Delegate Sub AddDataDelegate(ByVal str As String)
Private Sub AddData(ByVal str As String)
TextBox3.Text = TextBox3.Text + str + Chr(13) + Chr(10)
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim strDataReceived As String
Dim add As New AddDataDelegate(AddressOf AddData)
Try
strDataReceived = SerialPort1.ReadLine
Catch ex As Exception
strDataReceived = ex.Message
End Try
TextBox3.Invoke(add, strDataReceived)
End Sub
|