[ADuc7061 EVM] UART 테스트
ADuc7061 은 정밀 24bit ADC를 내장한 아날로그 마이크로 컨트롤러이다. 24bit ADC값을 테스트 하기위해 가장 쉬운 방법으로 UART로 ADC값을 정송하는것이기 때문에 UART를 포팅하면 쉽게 가능하다.
보데이트는 아래와같이 설정하면 오차율 적게 설정할 수 있다.
COMSTA0 레지스터를 이용하여 송수신 상태를 체크할 수 있다.
ADuc7061 UART 송수신 함수
unsigned char U0_GetByte(void)
{
while ((COMSTA0 & 0x01) != 0x01)
{
}
return COMRX;
}
void U0_PutByte(unsigned char Data)
{
COMTX = Data;
while ((COMSTA0 & 0x40) == 0x00) // Wait for Tx buffer empty bit to be set
{
}
}
ADuc7061 UART테스트 코드
초기화, 송수신 함수만 포팅하면 기존 다른 MCU에서 테스트 했던 코드를 그대로 이용할 수 있다. 큰 문제 없이 잘 동작하는것을 확인 할 수 있다.
int main(void)
{
unsigned int cnt = 0;
SystemInit();
Led1Init();
//Serial Init
DebugInit(BAUD_115200);
DebugPrint("Aduc7061 EVM Serial Program.\r\n");
while(1)
{
//UART Debug
if(U0_IsGetByte())
{
switch(DebugGetByte())
{
case '0':
DebugPrint("LED OFF = %d\r\n", cnt--);
Led1Off();
break;
case '1':
DebugPrint("LED ON = %d\r\n", cnt++);
Led1On();
break;
}
}
}
}