|
各位好啊,我现在编了一个串口接收程序,但接收不到东西啊,请大家看看问题出在哪好吗,以下是我的程序,就通过串口精灵发送一个数到data,都接收不到,波特率肯定是正确的,不知问题出在哪了,先谢谢各位!
#include "msp430x44x.h"
void Init_UART0(void);
char Data[6]="123456";
char data;
void Init_UART0(void)
{
UCTL0|=SWRST; //SWRST复位,USART允许
UCTL0|=CHAR; //8位数据位,1位停止位,无校验
FLL_CTL0 |= XCAP14PF; // Configure load caps
UTCTL0 = SSEL1; // UCLK = SMCLK
UBR00 = 0x6D; // 1MHz 9600
UBR10 = 0x00; // 1MHz 9600
UMCTL0 = 0x00; // no modulation
ME1 |= UTXE0 + URXE0; // Ena××e USART0 TXD/RXD
IE1 |= URXIE0; // Ena××e USART0 RX interrupt
UCTL0&=~SWRST;
P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
P2DIR |= 0x10; // P2.4 output direction
_EINT();
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
Init_UART0();
for (;;)
{
_BIS_SR(CPUOFF); // Enter LPM0
_NOP(); // Required only for C-spy
}
}
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
while ((IFG1 & URXIFG0) == 0); // USART0 TX buffer ready?
data = RXBUF0; // RXBUF0 to TXBUF0
}
|
|