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**** 2535750 points
Other Parts Discussed in Thread: MSP430F5528

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

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

部件号:MSP430F5528

您好,

我正在配置与RF发射器的UART通信。 下面是代码:

#include <stdio.h>
#include <MSP4S.h>
void main()
{
WDTCTL = WDTPW | WDTHOLD; //停止监视计时器
P4SEL |= 0x30;// 4.4 ,5 = USART0 TXD/RXD
P4DIR |= 0x90;
UCA1CTL1 |= UCSWRST;
UCA1CTL1 |=UCSSEL_2;
UCA1BR0=0x03;
UCA1BR1=0x00;
UCA1MCTL=0x03;
UCA1CTL1 &=~(UCSWRST);
UCA1IE|= UCTXIE ;

while (!(UCA1IFG & UCTXIFG));// USART0 TX BUFFER READY?
{
UCA1TXBUF = 0x42;

}
}

在上述代码中,我选择了UCA1TXD引脚。 波特率是9600,我在这里传输一个字节42。  在接收器部分I已进行相应的编程。 我是在学习msp430f5528用户指南后编写的。 发送器和接收器模块工作正常,因为我已在其他MCU中编程,并且工作正常。 请帮我解决这个问题。

 

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

    您好,Pabel,您是否已对中断服务例程进行了正确的编程?

    您已启用UCTXIE,但在代码中看不到任何中断服务例程。

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

    您好,

    我不需要这个。 我只需要UCTXIFG中断,并且我正在签入代码。

    #include <stdio.h>
    #include <MSP4S.h>
    void main()
    {
    WDTCTL = WDTPW | WDTHOLD; //停止监视计时器
    P4SEL |= 0x30;// 4.4 ,5 = USART0 TXD/RXD
    P4DIR |= 0xD0;
    UCA1CTL1 |= UCSWRST;
    UCA1CTL1 |=UCSSEL_2;
    UCA1BR0=0x03;
    UCA1BR1=0x00;
    UCA1MCTL=0x03;
    UCA1CTL1 &=~(UCSWRST);
    
    
    如果(!(UCA1IFG & UCTXIFG));// USART0 TX缓冲器准备就绪?
    {
    UCA1TXBUF = 0x85;
    P4OUT |=BIT6;
    }
    }
    

    请帮助..