I'm using STM32407 read ADIS16448's device ID. When I send DIN=5600 can only receive ID=0040. Then also can receive ID=0040 when I send DIN=5700 . This is different fron datasheet ,in theory should receive ID=4040. SPI configuration is as follows:
Thank you for your help. I have resolved the problem, because I didn't raise chip select for 9 us after sending 0x5600. According to the datasheet, DIAG_STAT will rise to 1 when the xMAGN_OUT and BARO_OUT registers have new data updates. I thinkI I if the xGYRO_OUT and XACCL_OUT have new data updates will get the same effect ?
Thank you for your post. We would expect the same response for either 0x56 or 0x57. You only have to request one of the register's addresses to get access to its entire contents (16-bits). I wonder if the communication is only catching the first or last 8-bits of the response. What do you receive when you read ZACCL_OUT, when the device is sitting flat on the table, where we would expect the response to be close to ~1g, or ~0x04B0? You might also want to observe the SPI signals on a scope to see what the device is actually receiving. Let us know what you find out and we will be glad to help.
Thank you for sharing your update with us! Great news on achieving quality communication. The DIAG_STAT register does not have new data flags for xGYRO_OUT and xACCL_OUT registers. The data-ready signal is the best way to synchronize with updates in these registers. I hope that helps.
Retrieving data ...