nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs
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

ble_app_uart application - UART and BLE Transmission mode.


Hi, I am using nRF52832 module (GAP peripheral, GATT server) with nRF5SDK, ble_app_uart_pca10040_s112 application.

In ble_app_uart application, how can I ensure that UART is set in Full duplex mode? 

Also, I would like to know what transmission mode does BLE follows? 

It would be helpful if you can share any references for both.

Thanks in advance!

Parents
  • In ble_app_uart application, how can I ensure that UART is set in Full duplex mode? 

    In the nRF5SDK\examples\ble_peripheral\ble_app_uart\main.c:uart_init you can configure the driver to use HW flow control in UART.

            .flow_control = APP_UART_FLOW_CONTROL_ENABLED

    Also, I would like to know what transmission mode does BLE follows?

    I am assuming that you are asking about the connection parameters for the BLE connection. These are GAP parameters and hence you can see what settings are used in this example in the same main.c file : gap_params_init() function.

Reply
  • In ble_app_uart application, how can I ensure that UART is set in Full duplex mode? 

    In the nRF5SDK\examples\ble_peripheral\ble_app_uart\main.c:uart_init you can configure the driver to use HW flow control in UART.

            .flow_control = APP_UART_FLOW_CONTROL_ENABLED

    Also, I would like to know what transmission mode does BLE follows?

    I am assuming that you are asking about the connection parameters for the BLE connection. These are GAP parameters and hence you can see what settings are used in this example in the same main.c file : gap_params_init() function.

Children
  • Thank you for your response.

    What I understand is, having APP_UART_FLOW_CONTROL_ENABLED indicates that UART is set in Full duplex mode, is it correct?

    Also, I would like to know what transmission mode does BLE follows?

    I am assuming that you are asking about the connection parameters for the BLE connection. These are GAP parameters and hence you can see what settings are used in this example in the same main.c file : gap_params_init() function.

    Can I send and receive data over the BLE link simultaneously? 

  • PKANNAN said:
    What I understand is, having APP_UART_FLOW_CONTROL_ENABLED indicates that UART is set in Full duplex mode, is it correct?

    UART can always be used in full duplex mode when using TX and RX pins (Irrespective of using hardware flow control or not), using APP_UART_FLOW_COMTROL_ENABLED will just enable the hardware flow control.

    PKANNAN said:
    Can I send and receive data over the BLE link simultaneously? 

    You can use BLE(using RADIO) and UART simultaneously since there are working on different peripherals. Which BLE, which uses RADIO, data can be received and sent in a time multiplexed way, since there is only one RADIO in the chip, which can either send or receive data at any given instance.

  • Hi, thank you for your response.

    In ble_app_uart application, how can I ensure that UART is set in Full duplex mode? 

    In the nRF5SDK\examples\ble_peripheral\ble_app_uart\main.c:uart_init you can configure the driver to use HW flow control in UART.

    I would like to mention that I am quite confused with my understanding on the above statement. What I would like to know is, does UART is set in Full duplex mode in ble_app_uart application, by default? 

    Which BLE, which uses RADIO, data can be received and sent in a time multiplexed way, since there is only one RADIO in the chip, which can either send or receive data at any given instance.

    Thank you so much for the clarification on BLE.

  • PKANNAN said:
    I would like to mention that I am quite confused with my understanding on the above statement. What I would like to know is, does UART is set in Full duplex mode in ble_app_uart application, by default? 

    The UART hardware have full duplex capabilities.

    When it comes to software, the initialization will by default setup the hardware to have full duplex communication. It is application responsibility to enable/disable flow control at the time of initialization and in some examples the HW flow control is enabled by default and in some it is disabled.

    The library->driver->HAL->Hardware always have full duplex capabilities to send and receive data by default. 
    I hope this helps.

  • Thank you so much for the precise information!

Related