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

ask about this BUG the SPIM: An additional byte is clocked out when RXD.MAXCNT = 1

Dear nordic employee

when I use the spim to send 1 byte address to read it's value(4 bytes)

nrf_drv_spi_transfer(&spi,headerBuffer,(uint8_t)headerLength,readBuffer,(uint8_t)readlength);    headerLength=1;      readlength=4;

I get the problem like the title says

I try to solve it

so I DO like this :spi_pan58_workaround_sdk12.zip(which Referred here

but when I try to read 4byte data(with 1 byte address write),the result is 00 00 00 00(it should be 12 02 33 44 )

where is wrong ?

thank you!

Parents Reply
    1. The example project was for SDK 12. I.e. if you just copy the example to SDK 14, it will not compile. So you need to port the code to the SDK 14 SPI example.

    2. Your init function looks correct. You need to add the PPI and GPIOTE code for the fix to work. In the example project with the fix, we disable the PPI and GPIOTE in the spi_event_handler when we get the event NRF_DRV_SPI_EVENT_DONE.

Children
No Data
Related