|
用串口调试工具,pc跟430的串口通讯。 单片机发出的数据串口调试工具能收到,pc发出的数据单片机却收不到。
串口2,3脚接在一起时,串口调试工具显示收发正常。。。
以下是调试的程序:
先感谢关注
#include <msp430x44x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP18PF; // Configure load caps
P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Ena××e USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character
UTCTL0 |= SSEL1; // UCLK = SMCLK
UBR00 = 0x6D; // 1MHz 9600
UBR10 = 0x00; // 1MHz 9600
UMCTL0 = 0x03; // modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0; // Ena××e USART0 RX interrupt
P2DIR |= 0x10; // P2.4 output direction
while(1) //橙色部分,是调试加的
{
while (!(IFG1 & UTXIFG0));
TXBUF0=0x66;
if(RXBUF0==0x22)
{
while (!(IFG1 & UTXIFG0));
TXBUF0=0x55;
}
} _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
#pragma vector=UART0RX_VECTOR //发现就是进不了中断,
__interrupt void usart0_rx (void)
{
_NOP();
while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0
}
|
|