This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ask-about-this-bug-the-spim-an-additional-byte-is-clocked-out-when-rxdmaxcnt-1/

Dear nordic employee

1、when I use the spim to send 1 byte address to read it's value(4 bytes),like this: nrf_drv_spi_ transfer(&spi,headerBuffer,(uint8_t)headerLength,readBuffer,(uint8_t)readlength); headerLength=1; readlength=4;

I get the a problem:I get FF 12 02 33(right is12 02 33 44)

2、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 )

3、And I have one more question.

I just try spi init like this : nrf_drv_spi_init(&spi, &spi_config, spi_event_handler, NULL);

haven't added the PPI and gpiote code yet

only add the spi_event_handler

the result turn to be :00 00 00 00(right is 12 02 33 44),even the spi_event_handler is NULL Like

this:void spi_event_handler(nrf_drv_spi_evt_t const * p_event,void * p_context) { //do nothing }

4、when I remove the spi_event_handler,like this :nrf_drv_spi_init(&spi, &spi_coonfig, NULL, NULL),the result is turn to be FF 12 02 33

my question is:why the spi_event_handler can influence the result

The question is refer here too here

thank you very much!

  • haven't added the PPI and gpiote code yet

    Please add the full fix to your example code (including the PPI and GPIOTE code).

    We can continue the discussion in the original post.