请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5419A 主题中讨论的其他器件: CC3100、 MSP-EXP430F5529LP、 MSP430F5529、 CC3100BOOST
大家好、我正在尝试将 C3100与 msp430f5419a 在独立模式下使用。 我正在开发一个可由应用控制的器件。 我真的很困惑如何使用 C3100连接 msp430f5419a 和应用。
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.
大家好、我正在尝试将 C3100与 msp430f5419a 在独立模式下使用。 我正在开发一个可由应用控制的器件。 我真的很困惑如何使用 C3100连接 msp430f5419a 和应用。
您好、Karuna、
在您的示例中、您没有中断服务例程(ISR)来为您的接收中断提供服务。 请参阅以下 MSP430 F5xx 代码示例中的代码。
您不需要特殊的 GPIO、只需要 TX 和 RX。
如果发送字节、请务必等到 TX 缓冲区被清除。
while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX 缓冲器就绪?
这是 msp430x54xA_uscia0_UART_01.c 示例
// // MSP430F543xA 演示- USCI_A0、115200 UART Echo ISR、DCO SMCLK // 说明:回显接收到的字符、使用 RX ISR。 正常模式为 LPM0。 // USCI_A0 RX 中断触发 TX 回波。 //带有1048576hz 的波特率分频器= 1048576/115200 =~9.1 (009h|01h) // ACLK = REFO =~32768Hz,MCLK = SMCLK =默认 DCO = 32 x ACLK = 1048576Hz //请参阅用户指南了解波特率分频器表 // MSP430F5438A // -------- // /|\| | // || | // -|RST | // | | // | P3.4/UCA0TXD|--- >// | | 115200 - 8N1 // | P3.5/UCA0RXD|<--- // // M. Morales // Texas Instruments Inc. // 2009年6月 //使用 CCE 版本:3.2.2和 IAR Embedded Workbench 版本:4.11b //********* #include int main (void) { WDTCTL = WDTPW + WDTHOLD; //停止 WDT P3SEL = 0x30; // P3.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; }