본문 바로가기

[INTERFACE]/iMCU_W7100

[W7100 EVM] 예제프로그램 작성 - UART 제어 (printf 를 이용한 디버깅)

[W7100 EVM] 예제프로그램 작성 - UART 제어 (printf 를 이용한 디버깅)




8051에서 UART제어를 위한 보레이트 설정 모드는 Mode0~3의 4가지가 있다.





Keil 에서 printf를 사용하기위해서는 putchar()함수를 재 정의해 주어야 한다. serial.c 에 아래 함수들 추가하면 된다.
char putchar (char c) 
{
  // Write data into serial-buffer.
 SBUF = c;
 // Wait till data recording is finished.
 while(!TI);
 TI = 0;
 return c;
}


W7100 UART테스트 예제 코드
void main()
{
 unsigned int cnt = 0;
 SystemInit();  //Initialize iMCU

 Led1Init();
 Led1On();
 Led2Init();
 Led2Off();

//시리얼 포트 초기화
 U0_Init(BAUD_115200);
 U0_PutStr("iMCU Serial Test\r\n");

 while(1)
 {
   switch(DebugGetByte())
   {
    case '1':
     Led1On();
     printf("LED1 On %d\r\n", cnt++);
     break;
    
    case '0':
     Led1Off();
     printf("LED1 Off\r\n");
     break;
   }
 }
}




* 8051에서 printf 사용시 주의 사항
unsigned char 형 데이터를 출력하면 이상하게 출력된다. (unsigned) int형으로 캐스팅 해 주어야  정상동작한다.

반응형