現在、C#でシリアルポートを使って通信を行い、装置を制御するアプリを作成しています。
装置のモーターが動いている状態で、装置に付属しているボタンを押すとモーターが止まるようにしたいのですが、仕組みとしてボタンを押した際にパソコン側に送信されたデータをSerialPort.DataReceived内で受信し、そのデータを解析してモーターを止めるように装置側にデータを送信したいのですが、上手くいきません(モーターは止まるが、アプリもそこでフリーズしてしまう)。
モーターを止めるデータ送信用メソッドがSerialPort.DataReceived内に書かれているのが不味いのかな?と勝手に思っているのですが、どうなのでしょうか?
またそれが原因の場合、どうすればよいのでしょうか
ご教示お願いします。