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.

[参考译文] MSP430F5528:UART通信

Guru**** 2537240 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/661337/msp430f5528-uart-communication

部件号:MSP430F5528

您好,

系统首先发送一个数据,然后在某个距离接收器中接收该数据并相应地执行工作,然后发送MSP430接收器接收到的确认信号 ,并发出状态LED。 代码为

#include <MSP430-h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD; //停止WDT
P4SEL = BIT4+BIT5; // WFP 4.4 ,5 = USI_A1 TXD/RXD
UCA1CTL1 |= UCSWRST; //**将状态机置于复位**
UCA1CTL1 || UCSSEL_2; // SMCLK
UCA1BR0 = 6; // 1MHz 9600 (请参阅用户指南)
UCA1BR1 = 0; // 1MHz 9600
UCA1MCTL = UCBRS_0 + UCBRF_13 + UCOS16;// Modln UCBRSx=0,UCBRFx=0,
//过度采样
UCA1CTL1 &=~UCSWRST; //**初始化USCI状态机**
UCA1IE |= UCTXIE + UCRXIE; //启用USI_A0 RX中断

__bis_sr_register (LPM0_bits + GIE); //输入LPM0,启用中断
__NO_OPEINENT(); //对于调试器
,//

回显RXed字符,确认TX缓冲区已就绪,首先
#if defined(__TI_Compiler_version__)|| defined(__IAR_systems_icc__)
#pragma vector=UISR_A1_vector
__interrupt void USI_A1_ISR(void)
#Elif defined(___GSCI_attribute__)



#endif
{
SWITCH (UCA1IV)
{
案例0:中断; //矢量0-无中断
情况2: //矢量2 - RXIFG
P4DIR |= BIT7;
P4OUT ^= BIT7;
中断;
案例4:
UCA1TXBUF = 19;
中断; //矢量4- TXIFG
默认值:中断;
}

在这种情况下,第一个MSP430正在传输,它正在另一侧接收,另一侧也会发出确认信号,但MSP430没有接收。 请帮助...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Pabel,

    您必须读取UCA1RXBUF的值才能自动清除UCRXIFG,否则需要手动清除。 除非您希望尽快连续发送值19,否则也不应设置UCTXIE。 我建议您仅在收到ISR的RXIFG案例中的最后一个字符后才设置UCA1TXBUF。 确保确认信号已正确连接到WFP 4.5 / UCA1RXD。

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我需要先传输数据,然后等待确认,在再次接收数据后,数据将持续传输。 为此,代码应该是怎样的? 请举一个例子。

    在以前的代码中,我开始阅读UCA1RXBUF ,仍然没有效果。  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Pabel,

    首先,在输入LPM0之前将第一个值写入TXBUF,然后读取RXBUF的值,并在TXBUF中填入下一个值。 应用程序不需要TX中断。

    此致,
    Ryan