[FX2 EVM] UART 테스트
FX2에는 2개의 UART가 있다. 그냥 8051용 UART이므로 별 다른건 없는것 같다.
[serial.c] 에 Rx, Tx 드라이버 함수만 수정하면 기존 코드를 그대로 사용할 수 있다.
USB2UART에 연결하면 쉽게 디버깅 가능하다.
FX2 Ez-USB Serial 테스트 프로그램 소스코드
FX2에는 2개의 UART가 있다. 그냥 8051용 UART이므로 별 다른건 없는것 같다.
[serial.c] 에 Rx, Tx 드라이버 함수만 수정하면 기존 코드를 그대로 사용할 수 있다.
unsigned char U0_GetByte(void)
{
while (!RI);
RI = 0;
return SBUF0;
}
void U0_PutByte(unsigned char Data)
{
while (TI == 0) ;
TI = 0 ;
SBUF0 = Data ;
}
{
while (!RI);
RI = 0;
return SBUF0;
}
void U0_PutByte(unsigned char Data)
{
while (TI == 0) ;
TI = 0 ;
SBUF0 = Data ;
}
USB2UART에 연결하면 쉽게 디버깅 가능하다.
FX2 Ez-USB Serial 테스트 프로그램 소스코드
void main(void)
{
int cnt = 0;
SystemInit();
Led1Init();
Led1On();
Led2Init();
Led2Off();
DebugInit(BAUD_38400);
DebugPrint("FX2 EVM CY7C68013 Serial Test.\r\n");
DebugPrint("printf: %d\r\n", cnt++);
while(1)
{
if(U0_IsGetByte())
{
switch(U0_GetByte())
{
case '0':
DebugPrint("Led1 Off\r\n");
Led1Off();
break;
case '1':
DebugPrint("Led1 On\r\n");
Led1On();
break;
}
}
}
}
{
int cnt = 0;
SystemInit();
Led1Init();
Led1On();
Led2Init();
Led2Off();
DebugInit(BAUD_38400);
DebugPrint("FX2 EVM CY7C68013 Serial Test.\r\n");
DebugPrint("printf: %d\r\n", cnt++);
while(1)
{
if(U0_IsGetByte())
{
switch(U0_GetByte())
{
case '0':
DebugPrint("Led1 Off\r\n");
Led1Off();
break;
case '1':
DebugPrint("Led1 On\r\n");
Led1On();
break;
}
}
}
}
반응형