В настоящее время я использую C ++ / CLI для связи с последовательным портом, но у меня есть некоторые проблемы при записи данных для регистрации. У меня такая структура, и
typedef struct {
unsigned short startCharacter,
length;
unsigned int data[5],
checksum;
} message;
Я хочу отправлять его членов по одному после получения ответа из реестра. По этой ссылке https://docs.microsoft.com/en-gb/dotnet/api/system.io.ports.serialport?view=netframework-4.8 этот метод имеет 3 перегрузки и ни одного из этого возьмите unsigned short в качестве параметра.
Write(String)
Write(Byte[], Int32, Int32)
Write(Char[], Int32, Int32)
Мой вопрос: могу ли я использовать Byte [] или Char [] для отправки unsigned short или unsigned int, и нужно ли мне каждый раз создавать что-то подобное перед отправкой данных?
array<unsigned char>^ startCharacterMessage=array<unsigned char>(2);
System::Runtime::InteropServices::Marshal::Copy( IntPtr( ( void * ) startCharacter), startCharacterMessage, 0, dataSize );
serial->Write(startCharacterMessage,0,2);