도와주세요!!
리눅스를 잘 몰라서 무지하게 헤매고 있습니다 (리눅스 개발 환경 설정부터... 한달 걸렸습니다)
그런데 터치 쪽을 하려하니까.. 어렵군요.
아무리 자룔를 찾아봐도 찾을 수 없고, 마지막으로 문의 드립니다
이건 리눅스의 인터럽트와 일명 디바이스 드라이버에 대하여 개념을 이햬 해야 할것 같은데요.
1. 보드에서 cat /proc/interrupts 라고 하면 몇가지 죽나오고// 45 mk712-touchscreen //이라고 나오는 것이
커널에서 드라이버를 실행 시켜 주었다는 것이겠죠
--> 개략적인 방법을 알고 싶습니다 (책을 아무리 사다 읽어도 그런 내용은 없군요)
2. 사용자 프로그램에서 이 드라이버를 어떻게 접근하는지 알려 주십시오.
3. 혹시 application 예제 프로그램이 있다면 좀 보내 주십시오.
바쁘시겠지만 도움을 요청드림니다.
안녕하세요..
디바이스 드라이버를 접근하기 위해서는 디바이스 장치 파일이라는 것을 사용하셔야 합니다.
다바이스 장치 파일은 open이라는 함수를 통하여 사용할 수 있습니다.
EZ-X5에 있는 터치 스크린의 디바이스 장치 파일은 /dev/mk712 입니다. 따라서 이 장치 파일을 open 하시면 됩니다.
---- 간략하게 접근하는 방식은 다음과 같습니다.
open시
int handle;
handle = open( "/dev/mk712", O_RDWR | O_NDELAY);
read 시
unsigned int data[4];
int bytes_read;
int btnstate;
int dx, dy;
bytes_read = read(handle, data, sizeof(data) ); <---- handel은 위의 open시 리턴된 handle값입니다.
btnstate = data[0];
dx = data[1];
dy = data[2]
----------------------
EZ-X5에 있는 터치 스크린이 정상적으로 동작하는지 테스트하기 위해서는
echo "1" > /dev/mk712 하시고 터치를 누렸을때 좌표값이 올라오면 정상입니다.
에플리케이션 부분은 마인드풀니스님이 말하신 tlib 프로그램을 분석해 보시든지 아니면 사용하시면 됩니다.
여기서 open 부분에서 디바이스 장치 파일은 /dev/mk712로 수정해 주셔야 합니다..
그럼 좋은 하루 되세요.
저두 초보라 자세한 말씀은 못드립니다만....
구글에서 "tslib" 라고 검색해보세요.(설치 방법도... )
전 2440에서 포팅해서 사용해 봤습니만 x5에서는 제대로 동작할지는 모르겠습니다.
말 그대로 touch screen libraly 인데요
괜찮은 듯 합니다.