|
用TI官网上的例子,串口调试助手,老看不到收到的数据,谁试过的?
代码://****************************************************************************** //
MSP430G2xx3 Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK // //
Description: Echo a received character, RX ISR used. Normal mode is
LPM0. // USCI_A0 RX interrupt triggers TX Echo. // Baud rate divider
with 1MHz = 1MHz/9600 = ~104.2 // ACLK = n/a, MCLK = SMCLK = CALxxx_1MHZ =
1MHz // // MSP430G2xx3 //
----------------- // /|\| XIN|- // | |
| // --|RST XOUT|- // |
| // | P1.2/UCA0TXD|------------> // |
| 9600 - 8N1 // |
P1.1/UCA0RXD|<------------ // // D. Dang // Texas Instruments
Inc. // February 2011 // Built with CCS Version 4.2.0 and IAR Embedded
Workbench Version:
5.10 //****************************************************************************** #include "msp430g2553.h" void
main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop
WDT BCSCTL1 = CALBC1_1MHZ; // Set DCO DCOCTL =
CALDCO_1MHZ; P1SEL = BIT1 + BIT2 ; // P1.1 = RXD,
P1.2=TXD P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD,
P1.2=TXD P2DIR = 0xff; UCA0CTL1 |= UCSSEL_2; //
SMCLK UCA0BR0 = 104; // 1MHz 9600 UCA0BR1 =
0; // 1MHz 9600 UCA0MCTL = UCBRS0;
// Modulation UCBRSx = 1 UCA0CTL1 &= ~UCSWRST;
// **Initialize USCI state machine** IE2 |= UCA0RXIE;
// Enable USCI_A0 RX interrupt __bis_SR_register(LPM0_bits +
GIE); // Enter LPM0, interrupts enabled } // Echo back RXed
character, confirm TX buffer is ready first #pragma
vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) { while
(!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer
ready? UCA0TXBUF = UCA0RXBUF;// TX -> RXed character }
|
|