뉴티씨



  • HOME
  • 고객지원
  • 자주하는 질문

 
UART 관련 printf나 scanf 구현 관련 에러시[ICCAVR]
 글쓴이 : 관리자
작성일 : 12-10-09 13:48
조회 : 2,007  
안녕하세요? 고객님,

Option에서 target을 ATMega128(Please see NOTES)로 사용하세요.

자료실의 최신 버전에 에러가 나실 경우,
최신 버전의 에러는 ICCAVR의 에러가 아니라, 아래를 추가하시면 됩니다.
printf와 scanf 함수가 하드웨어에 따라 다른 곳으로 출력할 수 있게 변경 가능하기 때문에, 생기는 메시지 이므로, 내부함수인 putchar와 getchar를 사용하는 환경에 맞게 적어주어야합니다.

- 아래 -
#include <stdio.h>

// printf 함수 사용시 추가할 것.
int putchar(char c)
{
     while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty

     UDR0 = c;
     return c;
}

// scanf 함수 사용시 추가할 것.
int getchar(void)
{
     while ((UCSR0A & 0x80) == 0);
     return UDR0;
}


만약 그래도 안되시면,
프로젝트를 다시 생성해 주시고, 만들어진 C 소스를 추가해 주세요.
예전 6.xx 버전에서 만들어진 예제라서 초기 생성 폴더가 달라서 그럴 수 있기 때문입니다.
자료실--> ICCAVR 으로 검색하여 다운로드.
==> 이 프로그램으로 다운받아서 다시 깔아 보세요.
잘 될겁니다.

감사합니다.