change device name through spi

hi

Working with Linux operating system I faced the problem not knowing how can the nrf52840 device name be changed via the SPI protocol and what frame format should be used?

I would appreciate if you help me with step by step guidance.

Many thanks

  • nRF5_SDK_15.2.0_9412b96\examples\peripheral\spis

  • So your linux machine is running an SPI master? How did you connect the pins? What is the SPI speed that the SPI master is using? 

    Can you please test all the SPI modes, NRF_SPIS_MODE_0 to NRF_SPIS_MODE_3.

    You can set it like this:

        nrf_drv_spis_config_t spis_config = NRF_DRV_SPIS_DEFAULT_CONFIG;
        spis_config.csn_pin               = APP_SPIS_CS_PIN;
        spis_config.miso_pin              = APP_SPIS_MISO_PIN;
        spis_config.mosi_pin              = APP_SPIS_MOSI_PIN;
        spis_config.sck_pin               = APP_SPIS_SCK_PIN;
        spis_config.mode                  = NRF_SPIS_MODE_0
    
        APP_ERROR_CHECK(nrf_drv_spis_init(&spis, &spis_config, spis_event_handler));

    If that doesn't work, can you please try to capture a logic trace of the SPI wires? 

    Best regards,

    Edvin

  • In the target application, Linux and NRF will behave as master and slave depending on the type of request, but to test the performance of a part of the application, currently Linux is used as Master and NRF as Slave.
    When I change the pins defined in the example (spi&spis) to custom board pins, data is not sent/received.
    I uploaded the samples (spi&spis) on two NRF DK boards by changing the pins I mentioned earlier, but still no data is being exchanged.
    I also repeated this with the NRF DK board as a slave and the STM 32 as a master, but I could not send/receive data.

    Master DK and Slave DK are connected by wire without any element between them

    I don't know what is the SPI speed but  I didn't change the speed in the SPI example.

    spis_config.mode = NRF_SPIS_MODE added to SPIS example in main.c and tested 0-3 but the problem still persists.

  • If you take the unmodified spi&spis samples on two nRF DK boards (if you are not sure whether they are unmodified or not, download and unzip the SDK again). 

    Then let me know what pins you connected between the DKs. If possible, take a photo, and upload it here. Can you also show me the logs that you are seeing on both devices?

  • I have no problem with the default pins on the DK boards and data is sent / received correctly. The problem is when the pins numbers change to:

    cs:P0.24(AD20)
    CLK:P0.15(AD10)
    mosi:P0.17(AD12)
    miso:P0.22(AD18)

    in sdk_config.h


    Sorry, I am a beginner. I tried to send a photo on this page, but I failed to send it.

    I can get "<info> app: Transfer completed. Received: ÿÿÿÿÿÿÿ " from slave and " <info> app: Transfer completed "from master with spi usb to uart by terminal .

Related