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

ble_connectivity example SDK v15.x.x UART pin definitions

Greetings,

I'm attempting to use the ble_connectivity example for the PCA10040 and have a couple questions:

1) What are the default GPIO pins for UART?, for SPI?

2) Where are these defined in the project?  I don't see them in sdk_config.h

3) Where are they defined in InfoCenter?

My IDE is SES.

Thanks,

Bob

Parents
  • Hi. 

    You can use any of the GPIO pins listed in the pin assignments table which is found in the product specification from the Infocenter for either SPI signals or UART. The default pins for UART and SPI in this example project are found in the header file for your board, in this case the pca10040.h (nRF5_SDK_15.0.0_a53641a\components\boards\pca10040.h). 

    #define RX_PIN_NUMBER  8
    #define TX_PIN_NUMBER  6
    #define CTS_PIN_NUMBER 7
    #define RTS_PIN_NUMBER 5
    #define HWFC           true
    
    #define SPIS_MISO_PIN   28  // SPI MISO signal.
    #define SPIS_CSN_PIN    12  // SPI CSN signal.
    #define SPIS_MOSI_PIN   25  // SPI MOSI signal.
    #define SPIS_SCK_PIN    29  // SPI SCK signal.
    
    #define SPIM0_SCK_PIN   29  // SPI clock GPIO pin number.
    #define SPIM0_MOSI_PIN  25  // SPI Master Out Slave In GPIO pin number.
    #define SPIM0_MISO_PIN  28  // SPI Master In Slave Out GPIO pin number.
    #define SPIM0_SS_PIN    12  // SPI Slave Select GPIO pin number.
    
    #define SPIM1_SCK_PIN   2   // SPI clock GPIO pin number.
    #define SPIM1_MOSI_PIN  3   // SPI Master Out Slave In GPIO pin number.
    #define SPIM1_MISO_PIN  4   // SPI Master In Slave Out GPIO pin number.
    #define SPIM1_SS_PIN    5   // SPI Slave Select GPIO pin number.
    
    #define SPIM2_SCK_PIN   12  // SPI clock GPIO pin number.
    #define SPIM2_MOSI_PIN  13  // SPI Master Out Slave In GPIO pin number.
    #define SPIM2_MISO_PIN  14  // SPI Master In Slave Out GPIO pin number.
    #define SPIM2_SS_PIN    15  // SPI Slave Select GPIO pin number.

    Information about UART and SPI can be found in the Infocenter under nRF52 Series -> nRF52832 -> Product Specification

    UART

    SPI slave

    SPI master

     

    - Andreas

     

Reply
  • Hi. 

    You can use any of the GPIO pins listed in the pin assignments table which is found in the product specification from the Infocenter for either SPI signals or UART. The default pins for UART and SPI in this example project are found in the header file for your board, in this case the pca10040.h (nRF5_SDK_15.0.0_a53641a\components\boards\pca10040.h). 

    #define RX_PIN_NUMBER  8
    #define TX_PIN_NUMBER  6
    #define CTS_PIN_NUMBER 7
    #define RTS_PIN_NUMBER 5
    #define HWFC           true
    
    #define SPIS_MISO_PIN   28  // SPI MISO signal.
    #define SPIS_CSN_PIN    12  // SPI CSN signal.
    #define SPIS_MOSI_PIN   25  // SPI MOSI signal.
    #define SPIS_SCK_PIN    29  // SPI SCK signal.
    
    #define SPIM0_SCK_PIN   29  // SPI clock GPIO pin number.
    #define SPIM0_MOSI_PIN  25  // SPI Master Out Slave In GPIO pin number.
    #define SPIM0_MISO_PIN  28  // SPI Master In Slave Out GPIO pin number.
    #define SPIM0_SS_PIN    12  // SPI Slave Select GPIO pin number.
    
    #define SPIM1_SCK_PIN   2   // SPI clock GPIO pin number.
    #define SPIM1_MOSI_PIN  3   // SPI Master Out Slave In GPIO pin number.
    #define SPIM1_MISO_PIN  4   // SPI Master In Slave Out GPIO pin number.
    #define SPIM1_SS_PIN    5   // SPI Slave Select GPIO pin number.
    
    #define SPIM2_SCK_PIN   12  // SPI clock GPIO pin number.
    #define SPIM2_MOSI_PIN  13  // SPI Master Out Slave In GPIO pin number.
    #define SPIM2_MISO_PIN  14  // SPI Master In Slave Out GPIO pin number.
    #define SPIM2_SS_PIN    15  // SPI Slave Select GPIO pin number.

    Information about UART and SPI can be found in the Infocenter under nRF52 Series -> nRF52832 -> Product Specification

    UART

    SPI slave

    SPI master

     

    - Andreas

     

Children
  • Thanks!  For some reason, I thought this all moved to sdk_config.h.

  • // serialization CONNECTIVITY board
    #define SER_CON_RX_PIN              24    // UART RX pin number.
    #define SER_CON_TX_PIN              23    // UART TX pin number.
    #define SER_CON_CTS_PIN             25    // UART Clear To Send pin number. Not used if HWFC is set to false.
    #define SER_CON_RTS_PIN             2     // UART Request To Send pin number. Not used if HWFC is set to false.
    
    
    #define SER_CON_SPIS_SCK_PIN        27    // SPI SCK signal.
    #define SER_CON_SPIS_MOSI_PIN       2     // SPI MOSI signal.
    #define SER_CON_SPIS_MISO_PIN       26    // SPI MISO signal.
    #define SER_CON_SPIS_CSN_PIN        23    // SPI CSN signal.
    #define SER_CON_SPIS_RDY_PIN        25    // SPI READY GPIO pin number.
    #define SER_CON_SPIS_REQ_PIN        24    // SPI REQUEST GPIO pin number.

    The above code also written in pc10040.h header file only .....thats only i m confused ,is there any problem ? can i use any gpio pin for uart config , it means is it possible configure  pin num 8-rx and 6-tx ,7-cts and 5-rts in ble connectivity side ....beacuse in my project pcb  pin 8,6,7,5 only available for uart config ...... 

Related