도와주세요!!
글 수 15,339
2007.11.09 00:54:49 (*.188.43.125)
6679
제가 하고있는게, 보드에다가 ADC를 붙여서 사용을 하려는건데요~
GPIO를 이용하여 start of conversion 신호와 end of conversion 신호를 사용하고 있습니다!
일단, end of conversion 신호를 GPIO 8번에 falling edge 일 때 인터럽트가 걸리도록 하려고합니다.
디바이스로 ADC 랑 GPIO open 해주는 것은 test.c 를 통해서 ./test 를 실행하는 걸로 했고요....
제가 insmod 로 해서, adc_driver.o 랑 gpio.o 해주었고,
ADC 랑 GPIO 는 디바이스 파일을 만드는 명령(mknod)해주었구요...
인터럽트에 대한거는, adc_driver.c 라는 곳에서
int __init iom_adc_init(void) 안에
set_GPIO_IRQ_edge(8, GPIO_FALLING_EDGE);
request_irq(IRQ_GPIO(8), test_interrupt, SA_INTERRUPT, IOM_ADC_NAME, NULL);
써주었구요~
void test_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
printk("Interrupt ok!!! %dn", irq);
}
따로 써주었어요!
근데 test.c 에 있는 printk 구문만 읽히고, test_interrupt 안에 있는건 안 읽히는게 adc_driver를 실행파일로 해줘야하는건가요?
잘 모르겠어요ㅠ
좀 도와주세요....
>안녕하세요..
>
>gpio.c 가 디바이스 드라이버 소스라면 이 곳에 인터럽트 irq를 등록하고 사용하시면 됩니다..
>
>그럼 수고하세요..
>
>
>>GPIO 핀에 대한 인터럽트를 사용하려고 하는데~
>>gpio.c 라는 곳에다가 인터럽트 사용하도록 irq등록해서 쓰면 되는거 맞죠?
>>
>>
>
GPIO를 이용하여 start of conversion 신호와 end of conversion 신호를 사용하고 있습니다!
일단, end of conversion 신호를 GPIO 8번에 falling edge 일 때 인터럽트가 걸리도록 하려고합니다.
디바이스로 ADC 랑 GPIO open 해주는 것은 test.c 를 통해서 ./test 를 실행하는 걸로 했고요....
제가 insmod 로 해서, adc_driver.o 랑 gpio.o 해주었고,
ADC 랑 GPIO 는 디바이스 파일을 만드는 명령(mknod)해주었구요...
인터럽트에 대한거는, adc_driver.c 라는 곳에서
int __init iom_adc_init(void) 안에
set_GPIO_IRQ_edge(8, GPIO_FALLING_EDGE);
request_irq(IRQ_GPIO(8), test_interrupt, SA_INTERRUPT, IOM_ADC_NAME, NULL);
써주었구요~
void test_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
printk("Interrupt ok!!! %dn", irq);
}
따로 써주었어요!
근데 test.c 에 있는 printk 구문만 읽히고, test_interrupt 안에 있는건 안 읽히는게 adc_driver를 실행파일로 해줘야하는건가요?
잘 모르겠어요ㅠ
좀 도와주세요....
>안녕하세요..
>
>gpio.c 가 디바이스 드라이버 소스라면 이 곳에 인터럽트 irq를 등록하고 사용하시면 됩니다..
>
>그럼 수고하세요..
>
>
>>GPIO 핀에 대한 인터럽트를 사용하려고 하는데~
>>gpio.c 라는 곳에다가 인터럽트 사용하도록 irq등록해서 쓰면 되는거 맞죠?
>>
>>
>