Hallo,
mir gehen langsam die Ideen aus warum bei meiner seriellen Datenübertragung mit 2 Xbee Modulen, jeweils 1 Byte falsch auf der PC Seite ankommt, wenn ich vom Roboter Daten versende.

Mein Code auf Roboterseite ist:
Code:
void SendDataPackage(uint8_t Identifier, uint16_t value)
{	
	USART1_Transmit(_StartCond); //Das hier kommt richtig an

	USART1_Transmit(Identifier); //Das hier kommt richtig an
        //value zerlegen
	uint8_t highB = (uint8_t)(value >> 8);	

	uint8_t lowB = (uint8_t)value;

	USART1_Transmit(lowB); //Das hier kommt FALSCH an

	USART1_Transmit(highB); //Das hier kommt richtig an

	USART1_Transmit(_EndCond); //Das hier kommt richtig an

}
Auf PC Seite:
Code:
        void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            Debug.WriteLine("Recieved Event ausgeführt");

            foreach (byte item in serialPort.ReadExisting())
            {
                Debug.WriteLine(item); //Hier werden alle empfangenen Bytes ausgegeben
            }
            //Mache was mit den Daten
        }
Wie im oberen Code bereits kommentiert kommt das Identifier - Byte, das _StartCond - Byte, das _EndCond - Byte und das hByte richtig an.
Beim lByte jedoch wird immer 63 empfangen.

Meine Serialport Einstellungen sind:
8 Datenbits
1 Stopbit
NoParity
Baudrate : 115200
Verwunderlich ist das ganze für mich zudem, da Daten vom PC zum Roboter richtig übertragen werden.