NAN_Test.mp4
I did the same test and found no issues.
When Sys.Ddata[1] = NaN, Sys.Udata[2] contains its low 32 bits, and Sys.Udata[3] contains its high 32 bits.
According to the binary representation of NaN in the IEEE 754 double-precision floating-point standard, the sign bit (S) can be either 0 or 1, indicating positive or negative NaN. The exponent bits (E) are all 1 (i.e., 2047), and the fraction bits (M) are not all 0, with at least one non-zero bit.
The above values indicate that it conforms to the definition of positive NaN.
Using the C program for detection, it enters the 'P1=1' branch, indicating that it is NaN.