请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5510 主题中讨论的其他器件:MSP-FET430UIF
我在 USB 记忆棒上使用 Olimex 开发板 www.olimex.com/.../和 Silicon Labs CP2102桥。 我使用 CCS 6.2.0、RealTerm 通过串行端口发送、并使用 TI MSP-FET430UIF 调试接口。 电路板由调试器供电。
我无法在上面运行示例 UART 代码(MSP430F55xx_uscia0_UART_01.c)。 我已经尝试过原始代码并尝试修改波特率。 接收中断永远不会被触发。 我已经在 PC 的 TX 上放置了一个示波器、因此我可以清楚地看到它正在发送数据。 我已经将 TX 从 PC 连接到 MSP430上的 RX、反之亦然。 我已将接地从电桥连接到开发板接地。 MSP430 TX 仅为3.3V。
我不知道如何在调试中取得进展。
以供参考。 我更改了 TX/RX 引脚以匹配 f5510。
#include int main (void) { WDTCTL = WDTPW + WDTHOLD; //停止 WDT P4SEL |= BIT4+BIT5; // P4.4、5 = USCI_A0 TXD/RXD UCA0CTL1 |= UCSWRST; //**将状态机复位** UCA0CTL1 |= UCSSEL_2; // SMCLK UCA0BR0 = 9; // 1MHz 115200 (请参阅用户指南) UCA0BR1 = 0; // 1MHz 115200 UCA0MCTL |= UCBRS_1 + UCBRF_0; //调制 UCBRSx=1、UCBRFx=0 UCA0CTL1 &=~Ω UCSWRST; //**初始化 USCI 状态机** UCA0IE |= UCRXIE; //启用 USCI_A0 RX 中断 __bis_SR_register (LPM0_bits + GIE); //输入 LPM0,启用中断 _no_operation (); //对于调试 器} //回显 RXed 字符,确认 TX 缓冲区已准备就绪#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__) #pragma vector=USCI_A0_vector __interrupt void USCI_A0_ISR (void) #Elif defined (__GNC_ISR_)( void )#USCI_A0 (void)(void USCI_0_A0)(void)(void)(void)#USCI_ISR (void) #endif { switch (__even_in_range (UCA0IV、4)) { case 0:break; //向量0 -无中断 情况2: //向量2 - RXIFG while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX 缓冲器就绪? UCA0TXBUF = UCA0RXBUF; // TX -> RXed 字符 中断; 案例4:中断; //向量4 - TXIFG 默认值:break; }