Hi,
Working with project dsps_device from DA145xx_SPS v. 6.150.6.77. I want to communicate with my MCU through 2 wires at 115200 baud. I do not have enough pins available to implement four wires serial port. I am struggling to find a clean way to remove the hardware flow control. Please help,
Thanks,
Rémi
Hi Remi,Thank you for posting your question online.The SPS SDK is supported with 4-Wire UART. The HW Flow Control is mandatory in order to ensure the Extended Sleep and prevent data loss during communication.Please refer on dma_uart_sps.c file, on the dma_uart_sps_init API:
void dma_uart_sps_init(UART_BAUDRATE baudr, uint8_t mode) { GPIO_RegisterCallback(GPIO0_IRQn, dma_uart_gpio_callback); bool pin_status = GPIO_GetPinStatus(gpio_uart1_cts.port, gpio_uart1_cts.pin); dma_uart_sps_cts_update(pin_status); const uart_cfg_t dma_uart_cfg = { .uart_err_cb = uart_user_no_err_expected_cb, .uart_tx_cb = dma_uart_tx_callback, .uart_rx_cb = dma_uart_rx_callback, .data_bits = UART_DATABITS_8, .parity = UART_PARITY_NONE, .stop_bits = UART_STOPBITS_1, .use_fifo = UART_FIFO_EN, .auto_flow_control = UART_AFCE_EN, .uart_dma_priority = DMA_PRIO_7, .baud_rate = baudr, .uart_dma_channel = UART_DMA_CHANNEL_01, }; uart_initialize(DSPS_UART, &dma_uart_cfg); }