工具与软件:
波特率已关闭。 我在一个电路板上完成了所有设置和测试、并按照用户指南中的说明将波特率设置为9600波特。 它工作出色、没有问题。 我再构建了2个板并上传了相同的代码、波特率关闭了。 我运行的速度大约为10500、而不是9600。 对可能导致这种差异的原因有任何想法。 我知道该代码在再次上传到工作板时没有变化、运行得很好。 我已经完成了时钟设置。
// Clock System Setup CSCTL0_H = CSKEY >> 8; // Unlock CS registers //CSCTL1 = DCOFSEL_4; // Set DCO to 16MHz CSCTL1 = DCOFSEL_6; // Set DCO to 8MHz CSCTL1 &= ~DCORSEL; //CSCTL1 |= DCORSEL; // Set DCO to 16MHz CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers CSCTL4 &= ~LFXTOFF; // Enable LFXT1 CSCTL0_H = 0; // Lock CS registers // Configure USCI_A1 for UART mode UCA1CTLW0 = UCSWRST; // Put eUSCI in reset UCA1CTLW0 |= UCSSEL__ACLK; // CLK = ACLK UCA1BR1 = 3; // 9600 baud UCA1MCTLW |= 0x92; // 32768/9600 - INT(32768/9600)=0.41 // UCBRSx value = 0x92 From Table 30-5 UCA1BR1 = 0; UCA1CTL1 &= ~UCSWRST; // Initialize eUSCI