This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F169串口调试问题(续)



继续之前的串口调试,使用如下代码:

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3SEL |= 0xC0;                            // P3.6,7 = USART1 TXD/RXD
  ME2 |= UTXE1 + URXE1;                     // Enable USART1 TXD/RXD
  UCTL1 |= CHAR;                            // 8-bit character
  UTCTL1 |= SSEL0;                          // UCLK = ACLK
  UBR01 = 0x03;                             // 32k/9600 - 3.41
  UBR11 = 0x00;                             //
  UMCTL1 = 0x4A;                            // Modulation
  UCTL1 &= ~SWRST;                          // Initialize USART state machine

// Mainloop
  for (;;)
  {
  while (!(IFG2 & UTXIFG1));                // USART1 TX buffer ready?
  TXBUF1 = 0xA5;                        
  }
}

上述代码在CCS5.1下单步执行,可以产生正确的结果,但持续运行,则没有连续的数据产生,暂停后结果偶尔不正确,请问是什么原因呢?

是因为采用轮询的方式造成CPU阻塞吗?