- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi,
I would like to know what are the value of QM_UART_CFG_BAUD_DL_PACK(0, 17, 6) for different Baudrate (i.e. 9600, 19200, 39400,57600 and 230400)?
/* UART configuration */
qm_uart_config_t cfg;
/* Set divisors to yield 115200bps baud rate. */
cfg.baud_divisor = QM_UART_CFG_BAUD_DL_PACK(0, 17, 6);
cfg.line_control = QM_UART_LC_8N1; /* 8 data bits, no parity, 1 stop bit */
cfg.hw_fc = false;
FYI, I have already read "Intel® Quark™ Microcontroller Software Interface 1.0" and "Quark D2000 datasheet: Document Number: 333577-002EN"
Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi ByteMaster
The baud rates for the UARTs are generated from the base frequency (Fbase) indicated in table below by programming the DLH and DLL registers as divisor. The
hexadecimal value of the divisor is (IER_DLH[7:0]<<8) | RBR_THR_DLL[7:0]. The output baud rate is equal to the base frequency divided by sixteen times the value of
the divisor, as follows: baud rate = (Fbase) / (16 * divisor). The UART also supports fractional dividers of 1/16 of the divisor by programming the DLF[3:0] register.
baud rate = (Fbase) / (16 * (divisor+(fdivisor/16))
So for example for Clock Frequency of 32Mz & Baudrate 9600 set QM_UART_CFG_BAUD_DL_PACK(0, 208, 5);
regards,
Michelle.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page