Atmega328 doesn't send some numbers using xbee

Hello
I’m a newbie, and aI have a weird problem.

I’m using a breadboard of 8mhz with atmega 328p and Max 31856 sensors of temperature and send the data - a float - using xbee. (SPI)

Everything seems like OK…but …some numbers the atmega doesn’t send.
Are the same number always ( not randon).

I’m using Labview to get then.

Those numbers that the board doesn’t send , I’ve observed, is when the the 3º or 4º byte of the payload are: 17 - 19 and 125- 126

See the attached to understand it.
Always when this 3 or 4 byte are these numbers my xbee doesn’t send the data.The led of reception doesn’t blink.

I’ve tried everything…send like a int…big indian…etc…etc…add a randon number in the payload ( in this attached i’ve added 30193 to temperature…and in the labview i take it out).
But everytime when the payload has the ( at least) one of two last bytes with 17, 19 , 125 or 126 the number stucks…is a pain…

see part of my code ( I use union to send it right now…but I’ve tried a lot of ways to send the payload…faillll)

I’m really tired, because I researched a lot, more a month…and didn’t see anything like that…

I’m from Brazil, and excuse my bad English.

thanks
uint8_t payload = {0,0,0,0,0,0,0,0,0,0,0,0,0};// is a payload with other data - battery volts…etc…etc…

union {
float f;
byte b[4];
} stuff;
union {
float j;
byte b[4];
} stuff1;

stuff.f= temperatue of thermocouple
stuff1.j= temperature of junction ( ambient)

payload[1] = stuff.b[0];
payload[2] = stuff.b[1];
payload[3] = stuff.b[2];
payload[4] = stuff.b[3];
payload[5] = stuff1.b[0];
payload[6] = stuff1.b[1];
payload[7] = stuff1.b[2];
payload[8] = stuff1.b[3];

bytes labview.jpg

How do you know that the problem is the Arduino and not Labview? There is no code posted so you must convince us, and that picture does not tell me anything.

You do NOT need to define two unions. You need ONE.

You need TWO instances of the ONE union.