|
interrupt를 사용하려 하는데 도움 부탁합니다
|
|
|
글쓴이 :
정균희
작성일 : 05-09-20 06:44
조회 : 8,835
|
port_test._c (1.9K) [167] DATE : 2005-09-20 06:44:45 |
안녕하세요
인터럽터를 아래와 같이 사용하려하는데 안됨니다.
컴파일러는 icc AVR사용 / ina90.h있는 것임
- 아래
#include <iom128v.h>
//#include <macros.h>
#include <ina90.h>
unsigned char led;
interrupt[TIMER0_OVF_vect] void Timer0_interrupt(void) { //TIMER0 인터럽트
PORTC = ~led; //변수 led를 반전해서 포트B에 출력
led <<= 1; //다음번 출력데이터
if(!led)
led = 0x01; //최초의 상태에서부터 다시 시작한다
TCNR0 = 0x15; //30ms초를 얻기 위한 값*0ㅌ15 = -235)dmf ektlfhem
printf("\n\r interrupt test %x\n\r",led);
}
-에러
C:\icc\bin\iccavr -IC:\icc\include\ -e -DATMEGA -l -g -Mavr_enhanced -LC:\icc\lib\ -ucrtatmega.o -bfunc_lit:0x8c.0x20000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:16 -beeprom:1.4096 -fihx_coff -S2 port_test.c -lcatmega
!E port_test.c(11): undeclared identifier `TIMER0_OVF_vect'
!E port_test.c(11): integer expression must be constant
!E port_test.c(11): syntax error; found `void' expecting `;'
!W port_test.c(17):[warning] calling function without prototype may cause errors
잘못된부분 처리 방법를 알려주시면 고맙겠읍니다.
(이 프로그램은 책 "ATmega128과 그용용"240페이지)
또는 다른방법으로 일정시간마다 인터럽트가 발생되고 그때마다 일정한 일를 저리하려하는데 방법을 알려주시기 바람니다.
- delay가 아니고 인터럽트를 원함
수고하세요
|
|