Using a Dialog ProKit with a DA14681 daughter board and DA1468x_DA15xxx_SDK_126.96.36.1991.
I have modified the freertos_retarget project to experiment with UART2 for communication with another processor. I monitor the output transmit signal with a scope. The relevant code fragments are below.
UART_BUS(UART2, SERIAL2, HW_UART_BAUDRATE_1000000, HW_UART_DATABITS_8, HW_UART_PARITY_NONE,
HW_UART_STOPBITS_2, 0, 1, HW_DMA_CHANNEL_3, HW_DMA_CHANNEL_2, 0, 0)
pLink = ad_uart_open(SERIAL2);
ad_uart_write(pLink, "ABCDE\n", 6);
ad_uart_write(pLink, "fghijklmnop\n", 12);
When I select a baudrate of 230400 or less, everything works as expected.
When I select 500000 or 1000000, the bits times are correct, but the number of bits per byte is corrupted (5 bits). Using Ozone and a breakpoint after ad_uart_open(), I can see that UART2_LCR_REG is not correct.