기본 콘텐츠로 건너뛰기

Orange Pi RK3399 10.1 Touch LCD 연결방법

이번에 Orange Pi RK3399 10.1인치 터치LCD가 나왔다.

https://www.aliexpress.com/item/4000055556030.html

글쓰는 9월 18일 기준으로 59달러니까 10.1인치에 터치모니터 구성이면 가성비 좋은 제품이긴한데 문제가 연결하는 방법을 찾을수가 없다.

이리저리 시도해보다가 결국 방법을 찾았다.
OS는 http://www.orangepi.org/downloadresources/ 에서 받아서 진행하면 된다.


우선 케이블쪽에 적혀있는 1과 LCD 보드쪽에 적힌 2를 같은 방향으로 가게 꼿아주면 된다.
그리고 반대쪽은 방향을 거꾸로해서 케이블쪽에서는 40적힌곳이 보드쪽에서는 삼각형 표시가 있는 방향으로 꼿아주면 된다.



 터치 패널쪽도 거꾸로 꼿아줘야한다. 
접점이 커넥터 위쪽으로 가도록 꼿아준다.


Orange Pi랑 연결할때도 중간에 한번 꼬아서 한쪽은 커넥터 위로 접점이 가게 하고, 한쪽은 커넥터 아래로 접점이 가게 꼿아주면 정상 동작한다.








댓글

이 블로그의 인기 게시물

C언어 register 변수의 함정카드

C언어를 하다보면 register 라는 CPU의 레지스터에 자료를 저장하는 변수를 알수있다. 대신에 한 프로그램에서 최대 2개 정도까지만 사용이 가능하고 지역변수만 가능 및 32bit CPU는 32bit 크기의 변수만 사용 가능하다. 장점만 보면 기본적으로 메모리쪽에 저장되는 일반 변수들보다 더 빠르게 접근이 가능할 것 같은데...인라인 어셈이랑 메모리랑 레지스터랑 비교하면 어떤게 가장 빠른지 궁금해서 한번 테스트 해보게 되었다. 우선 테스트 해볼 코드는 다음과 같다. 거의 동일한 연산을 하고 다른 점이 있다면 인라인 어셈은 전부 다 레지스터를 이용해서 연산한다는 정도...? 위의 코드를 컴파일 해서 실제로 돌려보면 실행 결과는 다음과 같이 나온다. !? 그냥 아무런 형식도 지정해주지 않은 auto와 똑같은 결과가 나온다. # C언어는 기본적으로 아무런 형식을 지정해주지 않으면 auto로 해준다. # int a => auto int a 그래서 어째서 저런 결과가 나왔는지 컴파일에 옵션을 줘서 어셈파일을 분석해 보았다. 인라인 어셈 auto for register for push ebp mov ebp, esp mov ecx, 0 jmp SHORT $INLoop$3 $INLoop$3: cmp ecx, 10000000 jae SHORT $EXIT$4 mov eax, ecx shl eax, 2 inc ecx jmp SHORT $INLoop$3 $EXIT$4: cmp ebp, esp call __RTC_CheckEsp popebp ret,0 push ebp mov ebp, esp sub esp, 8 mov DWORD PTR [ebp-8], -858993460 mov DWORD PTR [ebp-4], -858993460 mov DWORD PTR _i$2[ebp], 0 jmp SHORT $LN4@For $LN...

Android Auto Naver Login (네이버 자동 로그인) - 2

(1편 부터 이어집니다.) 웹뷰에서 자바 스크립트설정이랑 쿠키도 끝낫으니 이제 요청헤더에 몇몇개의 값을 추가해줘야된다. 나중에 로딩할때         web.loadUrl(NAVER_LOGIN, extraHeaders);   이렇게 포함시켜주면 된다. 일단 요청헤더를 추가하기 위해서 Map<String, String> 형식으로 추가해준다.         Map<String, String> extraHeaders = new HashMap<String, String>();         extraHeaders.put("Referer", Config.HEADER_REFERERURI);         extraHeaders.put("ContentType", Config.HEADER_CONTYPE);         extraHeaders.put("User-Agent", Config.HEADER_UA); 대충 이렇게 설정해주는데 각각의 값은 다음과 같다. (코드에서 Ctrl + C, Ctrl + V라 좀 깁니다...) [Class Config]     public static final String HEADER_CONTYPE = "header_ConType = \"application/x-www-form-urlencoded\";";     public static final String HEADER_UA = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/...

far, near 포인터

far, near 포인터는 예전 Dos 시절에 사용하던 포인터 들입니다. 16비트 메모리 환경에서 20비트 메모리 주소를 표현하기 위해서 사용되었습니다. 그 당시에는 메모리에 접근하기 위해서 오프셋(16bit)과 세그먼트(16bit)라는 것을 사용해서 예를 하나 들자면 F000 : 0001 (세그먼트 주소 : 오프셋 주소) = F0000001 (실제 주소) 이렇게 두 값을 더해서 메모리 주소를 표현 했습니다. near 포인터는 오프셋 포인터만을 저장할 수 있어 16 bit의 크기를 가지고 있습니다. far 포인터는 세그먼트 와 오프셋을 모두 저장이 가능하고 32bit의 크기를 가지고 있습니다. 그리고 huge 라는 포인터도 있는데 이 포인터는 오프셋을 저장하지만 far 포인터와는 다르게 오프셋의 값에 0 ~ 15까지의 값 만 넣을수 있다고 합니다. 이 주소를 사용하면 주기억 장치의 한 장소 중에서 주소가 딱 하나로 결정되는 장점이 있다고 하네요. 현재의 win32에서는 사라진 것으로 알려져 있으나 windows.h 에 아직 존재하기는 합니다. 아래와 같이 코드를 작성한후 돌리게 되면 아래 사진과 같은 결과를 얻을 수 있습니다. #include <stdio.h> #include <windows.h> void main(void) {     int far test = (int far)new int;     short near test2 = (short near)new short;     printf("far : %d\n", test);     printf("near : %d\n", test2);     system("pause"); } * 원래 정석대로면 farmalloc 등을 이용해서 할당을 하는게 맞긴 하지만 들어 있는 헤더를 찾지 못해서 new 로 비슷하게 구현...