C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

シリアル受信イベント発生しない


(過去ログ 170 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■98061 / inTopicNo.1)  シリアル受信イベント発生しない
  
□投稿者/ bossa (1回)-(2021/09/03(Fri) 13:22:19)

分類:[C#] 

Visual Studio 2019 VC#でRS485のシリアルで受信処理しています。
ボーレートは38400,パリティ:偶数 ストップビット2bitで

受信イベントで以下のように作成しております。

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (serialPort1.IsOpen == false)
{
return;
}
try
{
if (serialPort1.BytesToRead > 0)
{
// シリアルポートからデータ受信
byte[] data = new Byte[serialPort1.BytesToRead];
serialPort1.Read(data, 0, data.GetLength(0));


//! 受信したデータを判定する
Invoke(new Delegate_RcvDataHantei(RcvDataData), new Object[] { data });
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}

・当初8byteくらい受信できていたが、134byteのデータを受信した場合、Invoke内のRcvDataData関数内に
 入りません。ただし、serialPort1_DataReceived内のどこかにブレークポイントを追加してデバッグ
 すると、停止します。そしてステップインで1行ずつ実施していくとInvoke内のRcvDataData関数に入ります。
 なぜ、通常では、Invoke内のRcvDataData関数内の処理にいかないのか。だれか教えてください。






引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -