Guten Tag, ich möchte eine Verbindung mit einem Arduino UNO und einem MAXON MOTORS Positioning Controller EPOS 24/5 über die serielle Schnittstelle herstellen unm damit die Drehgeschwindigkeit regeln. Hat jemand von euch die Kommunikation schon hergestellt, bzw weiß wo ich diese finde oder wie das geht? Ich habe ein Beispiel für Windows Visual . Jedoch weiß nicht weiß ich nicht wie ich das Senden und Lesen der Daten über die serielle Schnittstelle richtig übersetzten muss: aus SerialCtrl.h BOOL SerialCtrl::Read(char * inputData, const unsigned int & sizeBuffer, unsigned long & length) { if (ReadFile(m_portHandle, // handle of file to read inputData, // handle of file to read sizeBuffer, // number of bytes to read &length, // pointer to number of bytes read NULL) == 0) // pointer to structure for data { // AfxMessageBox("Reading of serial communication has problem."); return FALSE; } if (length > 0) { inputData[length] = NULL; // Assign end flag of message. return TRUE; } return TRUE; } BOOL SerialCtrl::Write(const char * outputData, const unsigned int & sizeBuffer, unsigned long & length) { if (length > 0) { if (WriteFile(m_portHandle, // handle to file to write to outputData, // pointer to data to write to file sizeBuffer, // number of bytes to write &length,NULL) == 0) // pointer to number of bytes written { AfxMessageBox(L"Reading of serial communication has problem."); return FALSE; } return TRUE; } return FALSE; } aus WinBase.h WriteFile( __in HANDLE hFile, __in_bcount_opt(nNumberOfBytesToWrite) LPCVOID lpBuffer, __in DWORD nNumberOfBytesToWrite, __out_opt LPDWORD lpNumberOfBytesWritten, __inout_opt LPOVERLAPPED lpOverlapped ); WINBASEAPI BOOL WINAPI ReadFile( __in HANDLE hFile, __out_bcount_part_opt(nNumberOfBytesToRead, *lpNumberOfBytesRead) __out_data_source(FILE) LPVOID lpBuffer, __in DWORD nNumberOfBytesToRead, __out_opt LPDWORD lpNumberOfBytesRead, __inout_opt LPOVERLAPPED lpOverlapped );
Hab es dann doch alleine gelöst, siehe txt-Datei. Für das Beispiel die Geschwindigkeit auf 500 rpm zu setzten. Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.