도와주세요!!
글 수 15,339
2003.07.22 14:00:44 (*.131.38.142)
53484
안녕하세요... 오랜만에 글을 띄웁니다..
날씨도 덥고 일이 잘 안되서 그런지... 기운이 빠지네요...
이번에 제가 여쭈어 보고 싶은것은요...
제가 GPIO2번을 인터럽트로 사용하는데요... 오실로스코프로 재어 보니 GPIO2
번은 어떤 선과 연결하지 않았을때에도 High더군요... 외부의 어떤 칩에서 신
호가 high서 low로 떨어지면 인터럽트가 걸리도록 해주려고 외부 칩의 신호와
GPIO2번을 직접연결했는데요 오실로스코프로 재어 보니 약 0.8V상태로 트리거
되어있는것 처럼 보였습니다... 프로그램은 돌아가긴하는데.... 아무래도 이상
합니다... 왜 GPIO가 0.8V로 트리거 되는 걸까요?
이게 정상인지 아님 제가 연결을 잘못한건가요? 아님 프로그램상에서 뭔가 다
른 설정을 해주어야야 하나요?
참고로 제가 설정한 부분을 보여드리자면요...
//헤더에서...
#define FIFO_IO_IRQ 2 // GP2
//open함수에서 irq등록하는 부분
if( request_irq( FIFO_IO_IRQ, io_interrupt, SA_INTERRUPT, FIFO_IO_NAME,
NULL ) )
{
printk( " unable to get IRQ %d
", FIFO_IO_IRQ );
return -EBUSY;
}
set_GPIO_IRQ_edge ( 1 << FIFO_IO_IRQ, GPIO_FALLING_EDGE );
enable_irq( FIFO_IO_IRQ );