Ok, vergesse meine Berechnung der Datenmenge. Das stimmt nicht. Ist auch nicht wie du nun Erklärst.
Du sendest 240 Bytes (10 Bits, inkl. start und stop Bit) mit 115200 baud. 2400 Bits dauert dann mindestens 20,83 mSekunden. Dann wartest du nur 1 mSekunde dammit die Xbee die Zeit hat den Packeten in die Luft zu senden. Leider sendet eine S1 XBee seine Daten über Radio mit nur 250 KBaud. Also ist das nur 2-fach schneller Als deine Baudtakt. 1 mSekunde wird deshalb nicht reichen. Wieviel genau dein Delay sein muss ist schwer zu sagen.
Die Grenze der Daten Puffer der XBee ist 202 Bytes(202 Bytes aus, und 202 Bytes in), aber deine Daten werden schon ab 100 Bytes in eine XBee API Packet umgewandelt und gesendet. Aber das passiert nur wann den XBee nicht im Empfang modus ist. (er kann nicht gleichzeitig senden und empfangen) Irgendwie kommen deine Daten in den Stau im Xbee. Am Sende platz oder am Empfang plats.
Vergrössere dein Delay, Reduziere deine Datenmenge und/oder versuche mal Hardware Flusskontrole zu benutzen in dein Schaltung/Program. Dann kann den XBee zu deine Atmega8 angeben wenn die UART Puffer Voll ist.
Lesezeichen