
도와주세요!!
글 수 15,339
2005.08.04 23:24:45 (*.118.69.55)
6897
답변 감사드립니다.
조언 덕분에 인터럽트에 의한 동작이 되었습니다.
그런데 완벽한게 아니라 좀 이상합니다.
핀을 다른물체로 건들기만해도 인터럽트가 걸리네요. 무척 불안정 합니다.
1. 핀 설정
GPDR0 &= ~( GPIO_INPUT_MASK_0 );
GAFR0_L &= ~( GPIO_INPUT_MASK_0 );
GRER0 &= ~( GPIO_INPUT_MASK_0 );
GFER0 |= ( GPIO_INPUT_MASK_0 );
2. 인터럽트 등록
set_GPIO_IRQ_edge( 14, GPIO_RISING_EDGE );
inter = request_irq(IRQ_GPIO(14), test_interrupt, 0, DEVICE_NAME, NULL);
3. 문자 디바이스 드라이버 등록
불안정합니다. 코드의 수정은 더이상 없어도 될듯한데... 어떤 부분을 추가하면 좋을까요
>안녕하세요...
>
>GPIO를 입력으로 설정하시려면....
>
>GPDR0 |= ( GPIO_INPUT_MASK_0 ); 가 GPDR0 &= ~( GPIO_INPUT_MASK_0 ); 로 되어야 하지 않나요??
>
>그리고... request_irq() 전에 set_GPIO_IRQ_edge ( 6, GPIO_RISING_EDGE ); 이렇게 해 주셨나요??
>
>자료실 >> EZ-X5 >> 소프트웨어 >> sample ( EZ-X5 보드에서 동작되는 샘플 디바이스 드라이버 및 TEST 응용프로그램 [DIO , GPIO , Serial]) 를 다운로드 하셨어 보시기 바랍니다..
>
>그럼 수고하세요..
>
>
>>안녕하세요
>>
>>인터럽트와 관련해서 질문을 드립니다.
>>
>>인터럽트가 등록이 되지가 않습니다.
>>에러 넘버가 -22 가 뜨네요 등록이 실패가 되는것같습니다.
>>
>>인터럽트 등록 순서가
>>
>>1. GPIO핀 설정
>>
>> GPDR0 |= ( GPIO_INPUT_MASK_0 );
>> GAFR0_L &= ~( GPIO_INPUT_MASK_0 );
>> GRER0 &= ~( GPIO_INPUT_MASK_0 );
>> GFER0 |= ( GPIO_INPUT_MASK_0 );
>>
>>
>>2. 인터럽트 등록 (GPIO6사용)
>>
>> request_irq(IRQ_GPIO(6), test_interrupt, 0, "gpio_test", NULL);
>>
>>3. 문자 디바이스 드라이버 등록
>>
>>으로 하였습니다. 확인 부탁드리겠습니다.
>
조언 덕분에 인터럽트에 의한 동작이 되었습니다.
그런데 완벽한게 아니라 좀 이상합니다.
핀을 다른물체로 건들기만해도 인터럽트가 걸리네요. 무척 불안정 합니다.
1. 핀 설정
GPDR0 &= ~( GPIO_INPUT_MASK_0 );
GAFR0_L &= ~( GPIO_INPUT_MASK_0 );
GRER0 &= ~( GPIO_INPUT_MASK_0 );
GFER0 |= ( GPIO_INPUT_MASK_0 );
2. 인터럽트 등록
set_GPIO_IRQ_edge( 14, GPIO_RISING_EDGE );
inter = request_irq(IRQ_GPIO(14), test_interrupt, 0, DEVICE_NAME, NULL);
3. 문자 디바이스 드라이버 등록
불안정합니다. 코드의 수정은 더이상 없어도 될듯한데... 어떤 부분을 추가하면 좋을까요
>안녕하세요...
>
>GPIO를 입력으로 설정하시려면....
>
>GPDR0 |= ( GPIO_INPUT_MASK_0 ); 가 GPDR0 &= ~( GPIO_INPUT_MASK_0 ); 로 되어야 하지 않나요??
>
>그리고... request_irq() 전에 set_GPIO_IRQ_edge ( 6, GPIO_RISING_EDGE ); 이렇게 해 주셨나요??
>
>자료실 >> EZ-X5 >> 소프트웨어 >> sample ( EZ-X5 보드에서 동작되는 샘플 디바이스 드라이버 및 TEST 응용프로그램 [DIO , GPIO , Serial]) 를 다운로드 하셨어 보시기 바랍니다..
>
>그럼 수고하세요..
>
>
>>안녕하세요
>>
>>인터럽트와 관련해서 질문을 드립니다.
>>
>>인터럽트가 등록이 되지가 않습니다.
>>에러 넘버가 -22 가 뜨네요 등록이 실패가 되는것같습니다.
>>
>>인터럽트 등록 순서가
>>
>>1. GPIO핀 설정
>>
>> GPDR0 |= ( GPIO_INPUT_MASK_0 );
>> GAFR0_L &= ~( GPIO_INPUT_MASK_0 );
>> GRER0 &= ~( GPIO_INPUT_MASK_0 );
>> GFER0 |= ( GPIO_INPUT_MASK_0 );
>>
>>
>>2. 인터럽트 등록 (GPIO6사용)
>>
>> request_irq(IRQ_GPIO(6), test_interrupt, 0, "gpio_test", NULL);
>>
>>3. 문자 디바이스 드라이버 등록
>>
>>으로 하였습니다. 확인 부탁드리겠습니다.
>