您好!
我正在使用 UART 将 MSP430与 PC 连接、以发送单个字符。 MSP430通过 TTL 232接口向 PC 发送信号。我看到的是垃圾以及接收到的单个字符。 代码如下所示、
#include "msp430g2553.h"
字符 Rx;
void main (void)
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_1MHz;
DCOCTL = CALDCO_1MHz;
P1DIR = 0x41;// P1.0 = UART TX LED,P1.6= UART RX LED,0100 0001
P1OUT = 0x00;
P1SEL |= BIT1 + BIT2;// P1.1 UART Rx 操作已选择=> p1sel,psel2 =1
P1SEL2 |= BIT1 + BIT2;// P1.2 UART TX 选择=> p1sel,psel2 =1
UCA0CTL1 |= UCSSEL_2 + UCSWRST;//时钟= SMCLK、寄存器复位
UCA0BR0 = 109;//波特率= 9600
UCA0BR1=0;
UCA0MCTL = UCBRS_1;//调制值= 1
// UCA0STAT |= UCLISTEN;//启用回路模式
UCA0CTL1 &=~Ω UCSWRST;//清除 UCSWRST 以释放 USCI_A0以进行操作
IE2 |= UCA0TXIE + UCA0RXIE;//启用发送中断
_BIS_SR (GIE);//启用全局中断
UCA0TXBUF ='M';//发送一个字节
}
#pragma vector = USCIAB0TX_vector
_interrupt void TXInterrupt (void)
{
P1OUT ^= BIT0;//在 Tx 上点亮 P1.0 LED
}
#pragma vector = USCIAB0RX_vector
_interrupt void RXInterrupt (void)
{
P1OUT ^= BIT6;//在 RX 上点亮 P1.6 LED
}
有什么建议吗?
谢谢、
此致、