도와주세요!!
글 수 15,339
2003.12.03 14:38:24 (*.186.47.173)
6680
안녕하세요..
님의 내용 중 request_irq(1<<(MOTOR_IRQ),......) 부분이 이상하네요..
1<<(MOTOR_IRQ) 는 IRQ 번호를 넣는 부분인데 이것은 sa1100에서 사용하는 방법이네요.
include/asm/arch/irqs.h 의 내용을 보시고 사용하셔야합니다.
#define MOTOR_IRQ IRQ_GPIO(1)
#define MOTOR_IRQ_GPIO 1
request_irq( MOTOR_IRQ , MOTOR_interrupt, SA_INTERRUPT, DEVICE_NAME, NULL)
set_GPIO_IRQ_edge ( MOTOR_IRQ_GPIO, GPIO_RISING_EDGE );
이렇게 사용하셔야 될것 같네요..
저도 X5보드에서는 아직 해보지 않아서 소스 전체를 보지 못했습니다. 다른 부분에 어떤 문제
가 발생할지는 모르겠네요..
그럼 수고하세요..
왕초보 wrote..
: 스텝 모터 제어 때문에 문의드립니다.
:
: X5 보드를 사용하고 있구요..
:
: 장형기씨가 만든 DIO 관련 회로(KELP)를 만들어 구동 중입니다..
:
: 근데 motor_control.c 를 컴파일 해서.. insmod 로 올렸더니.
:
: init_module : motor_control : device or resource busy 라는 에러가 뜹니
: 다..
:
: motor_control.c 를 컴파일 할떄는 아무 에러도 뜨지 않았구요..
:
: GFER 이런것은 X5에 맞게 뒤에 0이나 0_L을 pxa-regs.h 에서
:
: 찾아 붙혀 주었습니다.
:
: 이 외에는 수정한 곳이 없구요...
:
: 타이머는 IRQ_OST1 으로 27( 타이머 1번)으로 잡혀 있습니다..
:
: 나름대로 의심이 가는 부분은요
:
: 모터 irq 등록하는 부분인데요..
:
: request_irq(1<<(MOTOR_IRQ),......)
:
: 여기서 MOTOR_IRQ 가 1입니다. 그러면 인터럽트 1번에 걸리는 건지...
:
: 제대로 돌아가는 건지 궁금합니다..
:
: 제가 초보라서 아직 모르는게 많습니다..
:
: 잘 못 수정한 것이라면 어떻게 수정해야 하는지
:
: 좀 알려주세요~~
:
: PS: 화일 첨부 합니다.. ^^
님의 내용 중 request_irq(1<<(MOTOR_IRQ),......) 부분이 이상하네요..
1<<(MOTOR_IRQ) 는 IRQ 번호를 넣는 부분인데 이것은 sa1100에서 사용하는 방법이네요.
include/asm/arch/irqs.h 의 내용을 보시고 사용하셔야합니다.
#define MOTOR_IRQ IRQ_GPIO(1)
#define MOTOR_IRQ_GPIO 1
request_irq( MOTOR_IRQ , MOTOR_interrupt, SA_INTERRUPT, DEVICE_NAME, NULL)
set_GPIO_IRQ_edge ( MOTOR_IRQ_GPIO, GPIO_RISING_EDGE );
이렇게 사용하셔야 될것 같네요..
저도 X5보드에서는 아직 해보지 않아서 소스 전체를 보지 못했습니다. 다른 부분에 어떤 문제
가 발생할지는 모르겠네요..
그럼 수고하세요..
왕초보 wrote..
: 스텝 모터 제어 때문에 문의드립니다.
:
: X5 보드를 사용하고 있구요..
:
: 장형기씨가 만든 DIO 관련 회로(KELP)를 만들어 구동 중입니다..
:
: 근데 motor_control.c 를 컴파일 해서.. insmod 로 올렸더니.
:
: init_module : motor_control : device or resource busy 라는 에러가 뜹니
: 다..
:
: motor_control.c 를 컴파일 할떄는 아무 에러도 뜨지 않았구요..
:
: GFER 이런것은 X5에 맞게 뒤에 0이나 0_L을 pxa-regs.h 에서
:
: 찾아 붙혀 주었습니다.
:
: 이 외에는 수정한 곳이 없구요...
:
: 타이머는 IRQ_OST1 으로 27( 타이머 1번)으로 잡혀 있습니다..
:
: 나름대로 의심이 가는 부분은요
:
: 모터 irq 등록하는 부분인데요..
:
: request_irq(1<<(MOTOR_IRQ),......)
:
: 여기서 MOTOR_IRQ 가 1입니다. 그러면 인터럽트 1번에 걸리는 건지...
:
: 제대로 돌아가는 건지 궁금합니다..
:
: 제가 초보라서 아직 모르는게 많습니다..
:
: 잘 못 수정한 것이라면 어떻게 수정해야 하는지
:
: 좀 알려주세요~~
:
: PS: 화일 첨부 합니다.. ^^