MSP430F4152串口操做

/**********************************************************************/ 
 /*it

  名稱:串口通信 io

    功能:將接到的數據組後原封不動的發送出去 class

*/ 
/**********************************************************************/ 軟件

#include  <msp430x41x2.h> 數據

unsigned char i,ii,n; 
unsigned char RX[20]={0}; top

void UART_init() word


  P6SEL |= BIT5+BIT6;                       // P6.5,6 = USCI_A0 RXD/TXD   端口

  UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK   while

  UCA0BR0 = 0x03;                           // 32k/9600 - 3.41   ps

  UCA0BR1 = 0x00;                           // 

  UCA0MCTL = 0x06;                          // Modulation 

  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**   

  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt   

  IE2 &= ~UCA0TXIE; 

}

 

//////////////////////////////////////////////////////////////////////////////// 

void Iint_Port1(void)//端口P1_4和P1_5中斷 

  P1DIR&=~BIT5; //設置爲輸入方向P1_4 

  P1SEL&=~BIT5; //設置爲普通I/O口功能

  P1IES&=~BIT5; //選擇上升沿觸發 

  P1IE|=BIT5; //打開中斷容許 

  P1IFG&=~BIT5; //P2IES的切換可能使P1IFG.4置位,需清除

  _EINT(); 

/////////////////////////////////////////////////////////////////////

void main(void) 

{

  WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT   

  FLL_CTL0 |= XCAP14PF;                     // Configure load caps   

  Iint_Port1();   

  UART_init(); 

  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM0, interrupts enabled 


//////////////////////////////////////////////////////////////////// 

#pragma vector=USCIAB0RX_VECTOR 

__interrupt void USCIA0RX_ISR (void) 

{  
  RX[i] = UCA0RXBUF;

  i++; 

  if(RX[i-1]==0x68)    

  {     

    n=i;

    i=0;    

  } 

}

//////////////////////////////////////////////////////////////////////// 

#pragma vector = PORT1_VECTOR //外部中斷中斷入口 

__interrupt void P1_ISR(void) 

{

  if(P1IFG&BIT5) 

  { 

    P1IFG&=~BIT5; //多源中斷,需靠軟件清除P1IFG.5  

    for(ii=0;ii<n;ii++) //發送8個數據

    { 

      UCA0TXBUF=RX[ii];

      while(!(IFG2&UCA0TXIFG)); 

    } 

  } 

}

相關文章
相關標籤/搜索