你的问题不是很清楚;显示一些代码会有所帮助。似乎参数 TxStruct.u8_Buffer 与预期的 Byte[] 或 Char[] 都不匹配
我通过点 (.) 暗示 TxStruct 不受管理?
以下作品:
SerialPort ^myport=gcnew SerialPort;
//configures the port --ptr is a class that interacts with the user
myport->PortName="COM"+ptr->getportnumber();
myport->BaudRate=ptr->getbauds();
myport->DataBits=ptr->getdatab();
myport->StopBits=ptr->getstopb();
myport->Parity=ptr->getparity();
myport->WriteBufferSize=4096;
myport->RtsEnable=false;
myport->ReceivedBytesThreshold=256;
myport->WriteTimeout = 500;
String^ datatowrite="Data to write";
array<Byte>^ mybytes= Encoding::UTF8->GetBytes(datatowrite);
try
{
myport->Open();
myport->Write(mybytes,0,mybytes->Length);
}
catch (Exception^ e)
{
//error
MessageBox::Show( e->Message, "Port Error",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation );
}
当我从参数 TxStruct.u8_Buffer 中扣除时,上述编码为 UTF8。请注意您正在使用的缓冲区的长度和串行端口的 WriteBufferSize 属性。此外,握手 XonXoff 的缓冲区过长可能会导致超时异常。
希望这可以帮助。
一切顺利,阿丹