Resolved! HAL USART serial buffer pointers not declared volatile?
One of the practices of software design is to use volatile buffers when ISR and main loop access the data in the same buffers. This makes sure certain compiler register optimisations do not create unreliable code.If I look at the HAL code for the USA...