도와주세요!!
글 수 15,339
2009.10.09 15:50:29 (*.214.25.74)
11053
안녕하세요.
이번에 EZ-X5에 초음파 센서를 연결하여 거리를 구해보려고 하는데요.
초음파 센서는 거리에 따라 펄스를 출력해 줍니다.
이때 HIGH일때의 펄스 길이를 측정해야 합니다.
펄스는 GP1을 인터럽트 선언하여 초음파에서 나오는 출력을 받고 있습니다.
FALLING 과 RISING EDGE 둘다 ENABLE 시켜주었습니다.
RISING EDGE 인터럽트가 발생 하였을 때 OSTIMER를 ENABLE 시켜주고
FALLING EDGE 인터럽트시 OSTIMER DISABLE 시켜 준후 OSCR값을 가져와서 거리를 계산하려고 하는데요..
보통 초음파 센서에서 나오는 펄스의 길이가 매우 짧습니다.
보통 10ms 에서 짧게는 1ms이하의 펄스가 나오게 되는데요
GPIO 인터럽트가 이 짧은 펄스를 인식 하지 못하는 것 같습니다.
ATMEGA 128에서 동작 시키면 잘 동작하는데 PXA255는 그 만큼의 속도가 나오질 않는 것인가요??
GPIO속도에 관한 DATASHEET가 있나요??
ㅠㅜ
자문자답이네요..
속도는 알아내지 못했고..
그냥 다른방법으로 사용하게 되었습니다.
pwm을 이용하지 않고 타이머를 이용해서 pwm같은 파형을 만들어 출력을 하고
초음파에서 펄스를 받을때의 시간을 체크해서 타이머카운트값을 얻어 계산을 했습니다.
쫌 꺼림직 하지만 동작에 이상이 없네요..
;;;;