DanielSan
12.06.2012, 21:33
Hi,
ich habe ein paar Sensoren an einem Atmel. Die Sensoren generieren einen 12bit Wert. Die Werte möchte ich an einen PC Senden. Ich habe mir also überlegt 2 Startbytes zu senden und dann immer ein Highbyte und ein Lowbyte. Der PC erkennt das Startbyte und zählt dann die Sensoren durch wobei er natürlich das High- und Lowbyte wieder zusammen setzt.
Mein Problem ist jetzt, das ich nicht weiss wie die Startbytes aussehen sollen. Ursprünglich dachte ich an "255;255". Aber wenn das letzte lowbyte der Übertragung auch "255" ist dann verzählt sich der PC doch!?
Beispiel einer Übertragungszeile (in DEZ):
255;255;20;124;............;5;255
Die Semikolons werden nicht übertragen, die dienen hier nur der Darstellung!
Wie kann ich jetzt die Startbytes wählen, das der PC sich nicht verzählt?
Die Werte einfach als ASCII Zeichen zu übertragen, kommt nicht in Frage. Ich habe den Ehrgeiz die Übertragung mit möglichst wenig Bytes durchzuführen.
Danke
Gruß Daniel
ich habe ein paar Sensoren an einem Atmel. Die Sensoren generieren einen 12bit Wert. Die Werte möchte ich an einen PC Senden. Ich habe mir also überlegt 2 Startbytes zu senden und dann immer ein Highbyte und ein Lowbyte. Der PC erkennt das Startbyte und zählt dann die Sensoren durch wobei er natürlich das High- und Lowbyte wieder zusammen setzt.
Mein Problem ist jetzt, das ich nicht weiss wie die Startbytes aussehen sollen. Ursprünglich dachte ich an "255;255". Aber wenn das letzte lowbyte der Übertragung auch "255" ist dann verzählt sich der PC doch!?
Beispiel einer Übertragungszeile (in DEZ):
255;255;20;124;............;5;255
Die Semikolons werden nicht übertragen, die dienen hier nur der Darstellung!
Wie kann ich jetzt die Startbytes wählen, das der PC sich nicht verzählt?
Die Werte einfach als ASCII Zeichen zu übertragen, kommt nicht in Frage. Ich habe den Ehrgeiz die Übertragung mit möglichst wenig Bytes durchzuführen.
Danke
Gruß Daniel