前提
VC++でシリアルポートを使った機器Aと通信するアプリケーションを作っています。
送ってくるデータの文字列は、byteデータの文字列で 0x2A 0x81 0x00 0x98 などです。
実現したいこと
機器Aからのシリアルポートからの文字列を受信して内容をデコードしたいです。
発生している問題・エラーメッセージ
機器Aから 0x21810098 というデータを送信したとき、アプリケーションでは、 0x218198 取得し、 00 のデータが欠けてしまいます。
欠けないようにするにはどうすればよいでしょうか?
該当のソースコード
C++/CLI コード
System::Void FormMain::serialPort_DataReceived(
System::Object^ sender, /* 引数 Sender /
/ 引数 EventArgs */
Ports::SerialDataReceivedEventArgs^ e)
{
int i;
int wiRecvLength;
String^ wstrRcvBuf;
array<byte>^ readBuffer = gcnew array<byte>(256);
wiRecvLength = serialPort->Read(readBuffer, 0, 256); for (int i = 0; i < wiRecvLength; i++) { wstrRcvBuf += readBuffer[i].ToString("x2"); } RecvDataCallBack^ d = gcnew RecvDataCallBack(this, &FormMain::RecvData); this->Invoke(d, wstrRcvBuf);
}
試したこと
補足情報(FW/ツールのバージョンなど)

回答3件
あなたの回答
tips
プレビュー