자료실

뒤로가기
제목

[E-PS조이콘]임베디드 PS조이콘 인터페이스 C코드 예제

작성자 대장장이(ip:)

작성일 2008-11-29 15:54:55

조회 1045

평점 0점  

추천 추천하기

내용

임베디드 PS조이콘의 페럴렐 모드로 통신하는 C코드 예제입니다.
최소한의 메모리와 코드를 사용하여 듀얼쇼크2와 통신할 수 있습니다.

회로를 구성한 후 다음 함수만 호출하면 듀얼쇼크2의 데이터를 읽어 들이고
진동모터를 제어할 수 있습니다.
나머지 복잡한 인식과정은 임베디드 PS조이콘에서 모두 알아서 합니다.


unsigned char big_motor; //듀얼쇼크2의 큰 모터의 진동 값
unsigned char small_motor; //듀얼쇼크2의 작은 모터의 진동 값
unsigned char DS2_data[17]; //듀얼쇼크2의 데이터가 저장될 메모리


//임베디드 PsJoyCon 핀 정의
#define SEL P3_2
#define CLK P3_3
#define RDY P3_4


//듀얼쇼크2 데이터 순서
#define DS2_LX 0
#define DS2_LY 1
#define DS2_RX 2
#define DS2_RY 3
#define DS2_X 4
#define DS2_S 5
#define DS2_T 6
#define DS2_O 7
#define DS2_L 8
#define DS2_R 9
#define DS2_U 10
#define DS2_D 11
#define DS2_L1 12
#define DS2_L2 13
#define DS2_R1 14
#define DS2_R2 15
#define DS2_StR3L3Sel 16


void PollDS2()
{
        unsigned char i;
        P1 = small_motor; //듀얼쇼크2 작은모터 진동
        SEL = 0; //Embedded PsJoyCon module 선택
        while(RDY){RDY = 1;} //RDY low 대기
        P1 = 0xFF; DS2_data[0] = P1; //Data[0]읽기
        P1 = big_motor; //듀얼쇼크2 큰 모터 진동
        CLK = 0; //CLK low
        while(!RDY){RDY = 1;CLK = 0;} //RDY high 대기


        for(i=1 ; i<17 ; i+=2)
        {
                P1 = 0xFF; DS2_data[i] = P1; //Data[i]읽기
                CLK = 1; //CLK high
                while(RDY){RDY = 1;CLK = 1;} //RDY low 대기

                P1 = 0xFF; DS2_data[i+1] = P1; //Data[i+1]읽기
                CLK = 0; //CLK low
                while(!RDY){RDY = 1;CLK = 0;} //RDY high 대기
        }


        CLK = 1;
        SEL = 1; //Embedded PsJoyCon module 선택해제
}


http://changjack.com/user_guide/epsc/Embedded_PsJoyCon_Interface_Code.pdf

첨부파일

비밀번호
수정

비밀번호 입력후 수정 혹은 삭제해주세요.

댓글목록

등록된 댓글이 없습니다.

댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

회원에게만 댓글 작성 권한이 있습니다.