Hi all,
I'm trying to connect do a device with a serial output of 4800 bps, 7 data bits, even parity, and 2 stop bits. I'm using DMA, and since 4800 baud is not one of the pre-configured options, I've had to modify _hal_uart_dma.c to work with these settings.
I've been able to get 4800 bps, 8 data bits, 1 stop, and no parity working just fine, however when I configure the UxUCR register to work with the above settings the received data isn't correct - right now it looks like a '1' bit is always being set as the MSB (ie instead of receiving 0x61, 0xE1 is received). The register setting I used is below:
UxUCR = UCR_PARITY | UCR_D9 | UCR_SPB | UCR_BIT9 | UCR_STOP;
Correct me if my interpretation of the data sheet for these register settings is wrong, but I've tried a few different combinations and none of them have worked.
Any ideas?
Thanks in advance,
Steve