
Stabile Datenübertragung zwischen PC und Mikrocontroller
Jetzt beraten lassenDas StreamProtocol stellt die Korrektheit von Daten bei der Übertragung zwischen unterschiedlichen Systemen sicher, wie zum Beispiel zwischen PC und Mikrocontroller. Es erkennt den Begin von neuen Nachrichten, prüft die Länge und wandelt mittels DataStream alle Daten automatisch zwischen BigEndian und LittleEndian Systemen um. Die Daten werden bei Bedarf mittels einer CRC geprüft.
Komponenten
– inklusive individueller Projektintegration –
Logik
StreamProtocol
DataStream

Datenprüfung
Software Crc
Hardware Crc
Datenübertragung
UART, CAN
USB VCP & Host
Ethernet
Mit dem StreamProtocol können sie unbeschwert Daten von einem auf ein anderes System übertagen. Das Protokoll wandelt die Daten intern so um, dass sie plattformunabhängig gesendet, empfangen und geprüft werden. Durch die Verwendung von eindeutigen Start- und Ende-Bedingungen, erkennt das Protokoll selbstständig Verbindungsabbrüche und Neustarts und informiert jeweils die Applikation darüber.
Das Hardwareinterface ist so gestaltet, dass es mit allen Kommuikationsschnittstellen, wie UART, USB, Ethernet oder CAN, funktioniert.
Beispiel
Im folgenden Beispiel wird das StreamProtocol in Kombination mit einer UART-Schnittstelle initialisiert.
Anschließend werden Daten gesendet.
// Communication hardware, e.g. UART semf::Uart uart; // Buffer for storing received data in. uint8_t readData[1024]; // Endian setting, used for the data on the UART bus semf::DataStream::Endian endianSetting = semf::DataStream::Endian::ENDIAN_LITTLE; // hardware and software CRC supported semf::Crc32Software crc; semf::StreamProtocol streamProtocol( uart, /* Communicating through UART */ readData, /* Buffering received data in */ sizeof(readData), /* Size of receive buffer */ endianSetting, /* BIG or LITTE endian setting possible */ crc); /* User specific CRC can be used */ // Create data for writing uint8_t writeData[128]; for (size_t i=0; i < sizeof(writeData); i++ { writeData[i] = i; } // Slot for entering after data has been written void onDataWritten() { // do something } streamProtocol.dataWritten.connect(&onDataWritten); // Now write the data streamProtocol.write(writeData, sizeof(writeData));
Tutorials
Erfahren Sie mehr über die einzelnen Komponenten in unseren Tutorials. Alle Tutorials finden Sie auf der Seite Dokumentation.
Preise
StreamProtocol, DataStream & optionale Treiber
