当 设置DCO使用内部电阻,DCO将被配置在16.384MHz时 CS_setupDCO(CS_INTERNAL RESISTOR);
设置不同的SMCLK频率配置UART模块波特率为115200
会有多种不同的方式
CS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_1);
CS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_2);
CS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_4);
CS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_8);
CS_initClockSignal(CS_SMCLK, CS_CLOCK DIVIDER_16);
因而对应的不同的初始化配置
EUSCI_A_UART_ initParam uartConfig = {
EUSCI_A_UART_ CLOCKSOURCE SMCLK, // SMCLK Clock Source
BRDIV
UCxBRF,
UCxBRS ,
EUSCI_A_UART_ NO PARITY, // No Parity
EUSCI_A_UART_ MSB FIRST, // MSB First
EUSCI_A_UART_ ONE STOP BIT, // One stop bit
EUSCI_A_UART_ MODE, // UART mode
EUSCI_A_UART_ OVERSAMPLING_BAUDRATE_GENERATION // Oversampling Baudrate
};
如下图所示的计算可方面设置
BRDIV,UCxBRF,UCxBRS ,
仔细考虑下,配置不同的外设时钟,时钟越低,功耗应该就相对越低了,所以从功耗的角度考虑选择低频应该好些
但是由于需要配置115200 的高串行通信速率,时钟太低,配置后的波特率是否有误差还是一个问题,如果误差过大就会有误码的可能、
所以应该还是需要从多个角度考虑下
|