Witam serdecznie, potrzebuje przekazać uchwyt do portu COM do funkcji. Walczę z tym już z godzinę i nadal zero pomysłów. Dodam od razu, że żaden ze mnie programista ale muszę coś takiego na szybko zrobić. Poniżej kod:
funkcja send
void MODBUS_sendData(System::Byte *data, System::Byte lenght, System::IO::Ports::SerialPort ^port)
{
array <System::Byte>^ buffer = gcnew array<System::Byte>(lenght+2);
System::UInt16 CRC = MODBUS_calculateCRC(data, lenght);
data[lenght] = CRC>>8;
data[lenght+1] = CRC&0x00FF;
for(int i=0; i<lenght+2; i++) //przepisanie danych do bufora wysyłania
buffer[i] = data[i];
if(!(port->IsOpen))
{
port->Open();
port->Write(buffer,0,lenght+2);
port->Close();
}
}
i potrzebuję z formulaża głównego Form1 przekazać uchwyt do portu do tej funkcji, czego bym nie robił to mam błąd:
np:
MODBUS_sendData(send, 6, serialPort1);
error C2664: 'MODBUS_sendData' : cannot convert parameter 3 from 'System::IO::Ports::SerialPort ^' to 'System::IO::Ports::SerialPort'
dodanie znaczników <code class="cpp"> i <code> - fp