Hello Bryan, We use the first and second points you mentioned, and there will be exceptions when reading data. But based on the third point you mentioned, we have adopted a DRDY peripheral interrupt method to read data, and the data is normal, which can avoid the occurrence of data anomalies. However, according to the manual instructions, using RDATA command should not require checking DRDY, that is, it can read data asynchronously. However, the actual phenomenon conflicts with the manual. Therefore, should we use RDATA to determine whether it can perform asynchronous operations (here, asynchronous operations do not require checking whether DRDY has changed, that is, normal data can be read at any time). Our question is: Is it an error in the manual instructions or is it due to our incorrect use of the RDATA command. In addition, the relevant instructions in the manual are attached below: We used a logic analyzer to capture abnormal data waveforms, where the timing met your requirements for the first and second points, but the third point was not met (because we wanted to verify whether our question was correct). Among them, only 64 SLCKs were read, and the last byte (0x3F) is the highest bit data of channel 1, where 0x3F is the correct data. At the same time, we captured the highest bit data of channel 1 at the time of DRDY signal overlap. According to the analysis of the logic analyzer, the data (0x5F) is abnormal, which indirectly confirms our hypothesis (DRDY overlap does affect the correctness of the data, and the manual indicates an error). We just need you to confirm whether our hypothesis is correct. The image of the logic analyzer is as follows: Looking forward to your reply, thank you!
↧