- /* Assume SMCLK = MCLK = DCO = CPU_FREQ */
- /* Compute the baud rate */
- uint16_t quot = DIV_ROUND(CPU_FREQ, CONFIG_KDEBUG_BAUDRATE);
- KDBG_MSP430_UART_PINS_INIT(); // Configure USCI TX/RX pins
- UCCTL1 |= UCSSEL_2; // use SMCLK
- UCBR0 = quot & 0xFF;
+ /* Compute the clock prescaler for the desired baudrate */
+ uint16_t quot = DIV_ROUND(KDBG_MSP430_FREQ, CONFIG_KDEBUG_BAUDRATE);
+ KDBG_MSP430_UART_PINS_INIT(); // Configure USCI TX/RX pins
+
+#if (CONFIG_KDEBUG_CLOCK_SOURCE == KDBG_UART_SMCLK)
+ UCCTL1 |= UCSSEL_SMCLK;
+#else
+ UCCTL1 |= UCSSEL_ACLK;
+#endif
+
+ UCBR0 = quot & 0xFF; // Setup clock prescaler for the UART