어렵사리 첫 발을 뗬습니다만!
LED도 못켜서 몇개 나가버렸구요ㅋㅋ
LED에 높은전압 걸어놨더니 잠깐 들어왔다가 나가길레 어 이거 왜이레 하고 새거로 바꾸고.. 바꾸고....ㅋㅋㅋㅋ
암튼 어찌어찌해서 icc avr로 프로그램 집어넣는것까지 해보았습니다
근데 여기서 또 문제인게;
LED 깜빡이려는데
while(1){
PORTA=0x00;
delay(500);
PORTA=0x01;
delay(500);
}
이렇게밖에 쓴게 없는데요. DDRA 값 바꿔보면서 프로그램이 들어가는 것 까진 확인했습니다
그런데 LED가 깜빡거리질 않고 계속 켜져있기만하네요.
이유가 뭘까요ㅜㅜ 테스터까지 동원해서 확인해봤는데 회로에선 문제 없었고 제 생각엔 프로그램 문제같은데요.
잘못된게 없어 보여요ㅜㅜ
쉬운걸 가지고 굉장히 헤메고 있네요ㅜㅜ
A port의 마지막 비트만 토글시키는 건가요?
delay(500) 이면 500 ms 인가요??
포트 세팅이 재대로 되었는지 모르겠지만, 포트 세팅이 재대로 되었으면,
delay를 늘려 보세요. delay가 너무 빨라 깜박이는것을 눈으로 느끼지 못할 수도 있습니다.
아니면 delay_ms(500)을 써 보세요.
delay를 조정해 보시고, 반응이 없으면 포트 세팅이 재대로 되어있는지 확인해 보세요.
avrmall.com에 가시면 간단한 소스들이 많이 있습니다.
참고해 보시기 바랍니다.
클락이 얼마인지는 모르지만 500을 2000으로 바꿔서 해보시기 바랍니다.
DELAY() 함수가 얼마정도의 시간인지를 살펴 보셔야 할것 같습니다.
함수를 살펴보시거나 잘 모르시겠으면 한번 큰~~수를 줘보세요~
딜레이 함수를 새로 구하시는 것도 방법일듯 합니다~
소스는 많으니까요~ㅋ
댓글 달아주신 분들 모두 감사합니다. (icc avr) 프로젝트 옵션에서 칩을 avr1280으로 선택해서 그런 거였네요.(제 칩은 128인데)
delay 함수가 이상하게 전혀먹질 않더군요. 봤더니 전처리기가 iom1280v.h로 되있더라구요. 0지웠더니 잘됩니다.
다른 분들 소스 없었으면 절대 못알아냈을것 같네요ㅎㅎ