Sending 16 floats and a frame sync byte via UART.
00,00,00... F8
Thumbs up, all good, no warnings, no errors, no fuss, all good. Even watched the UART TDR register clocking 00's and even caught an F8 going out.
Working?
Hell no. That's not what the chip sends. It sends something completely different. The scope sees this:
00,00,00... 10 FF
Maybe the scope is wrong.
Well the receiver is just as bad. It reads the buffer about 50% of the time, errors the other 49% of the time and somehow gets itself out of a statemachine with all callbacks implemented and give up recieving.
... and when it does come back as successful. It's just 0's.
This should be easy. Why is it never actually straight forward?
All of this for "reasons", *
As there is no indication that any of this happening, both sides are absolutely sure they are sending and receiving it's just that both sides are making it up as they go along and neither realises it.
F8 was seen leaving the UART TDR register. F8 is never seen on the scope and never by the receiver. Where did it go?
This is like writing "Hello World" for god sake. What does a newbie do when the STM32 variant gives him back HHllllooa &^%&d! ?