Micom_Electric/마이컴_원칩 2014. 5. 26. 21:36


문제해결 !!!


AVR / Atmege / 

WINAVR / GCC 


- problem??


마이컴 프로그램 작성하다 보면

이상한 에러가 나올 때가 많다


소스도 이상없고 아무리 봐도

로직도 문제없어  보이는데 

프로그램이 제대로 동작하지 않는 기현상 !!!!!!!!! ㅠ.ㅠ


원인을 찾고 보면 정말 아무것도 아닌데 ...


지금까지 경험한 어처구니 없는 오류들 ..


1. sprintf /printf 등을 PSTR("...") 와 혼용 --> 한두번 콜은 동작

 ==> PSTR("...")를 사용할 땐 반드시 sprintf_P / printf_P로 처리


2. 입출력 포트 설정 오류/누락

==> 아무리 해도 포트로 값이 나가지 않거나 신호가 들어오지  안을때

==> DDRx 에서 출력은 HIGH(= 1) 입력은 LOW (=0)로 설정했는지 확인


3. 프로그램이 이유없이 리셋된다

==> 램부족으로 인한 버퍼 오버플로우 

    ( 램은 90% 미만으로 사용, 최소 10%이상 여유  RAM 확보)

==> PSTR( 등으로 고정 변수는 플래쉬 롬에 저장

http://turbocrazy.tistory.com/2246


4. 프로그램이 동작하지 않거나 느리다/리셋된다

 ==> 과다한 최적화 옵션 : 아예 NONE으로 설정해서 확인




posted by 털보네i
: