[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);
}
}