我有一个 MSP430 (FG4618/F2013) 实验板,通过 MSP-FET430UIF/USB 电缆作为电源和串行 RS232 电缆连接到 Windows 7。
我正在尝试运行读取输入并回显到超级终端的示例代码。
#include <msp430xG46x.h>
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
P5DIR |= BIT1; // Set P5.1 to be output
P2SEL |= BIT4 + BIT5; // P2.4,5 = USCI_A0 RXD/TXD
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 0x09; // 1MHz/115200 (lower byte)
UCA0BR1 = 0x00; // 1MHz/115200 (upper byte)
UCA0MCTL = 0x02; // Modulation (UCBRS0=0x01)(UCOS16=0)
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
_BIS_SR(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}
// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCIA0RX_ISR (void)
{
while(!(IFG2&UCA0TXIFG)); // Wait until can transmit
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
P5OUT^=BIT1; // Toggle LED4
}
由于这是一个示例演示代码,我的问题不在于代码,而在于设置。当我在 IAR 编辑器中运行以下代码时,我在 FET 调试器设置中选择 COM149 端口,因为这是通过设备管理器识别的端口。
然后我尝试将超级终端连接到同一个端口,它说“另一个设备正在使用选定的电话设备”