This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SPI example can not read flash ID

// #define TEST_STRING "Nordic"
static uint8_t       m_tx_buf[] = {0x9F, 0x00, 0x00, 0x00};//TEST_STRING;           /**< TX buffer. */
static uint8_t       m_rx_buf[sizeof(m_tx_buf) + 10] = {0};  /**< RX buffer. */
static const uint8_t m_length = sizeof(m_tx_buf);        /**< Transfer length. */

spi_xfer_done = false;
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));

while (!spi_xfer_done)
{
	__WFE();
}

I can read the spi flash id by the other mcu with the above code, but can not read correctly by

nrf52832, is there something wrong with my handle?

SPI FLASH ID          0E 40 13

Read by nrf52832    0C 00 10

Related