본문 바로가기

[MSP430]/MSP430_AFE

[MSP430AFE EVM] UART테스트

[MSP430AFE EVM] UART테스트

 

24bit ADC디버깅 하기 위해 UART를 이용하면 편리하다.

기존 MSP430 UART 코드로 동작을 하지 않아 수정하면서 정리해 보았다.

MSP430시리즈마다 UART특성이 조금씩 다른데 MSP430AFE는 MSP430F2xx 를 기준으로 하고 있다.

 

 

MSP430AFE UART블록도

 

 

 

 

 

 

U0TCTL (USART Transmit Control Register)

기존 22xx 시리즈와 레지스트 명이 달라서 조금 수정이 필요하다.

 

 

 

1Byte 전송함수

void U0_PutByte(unsigned char Data)
{
    // USART0 TX buffer ready?
    while (!(U0TCTL & TXEPT));
    TXBUF0 = Data;
}

 

 

1Byte 수신함수

unsigned char U0_GetByte(void)
{
 while(!(IFG1 & URXIFG0));

    return RXBUF0;
}

 

 

 

MSP430AFE UART테스트 예제 코드

void main(void)
{
    unsigned int cnt = 0;

    SystemInit();

 Led1Init();
 Led1Off();
 U0_Init(BAUD_115200);
 
 DebugPrint("MSP430 Serial Test\r\n"); 
 
 while(1)
 {
  if(U0_IsGetByte())
  {
     switch(U0_GetByte())
     {
      case '+':
       DebugPrint("Cnt=%d\r\n", cnt++);
       break;
       
    case '-':
     DebugPrint("Cnt=%d\r\n", cnt--);
     break;      
     }
  }
  
  
  Led1Toggle();
  Delay(500);
 }   

 

반응형