/************************************************* * タッチ・パネルコントローラ用ライブラリ・ヘッダ * コントローラIC:XPT2046 "XPTEC社製" * ポート/コマンドの定義 * 関数プロトタイプ * 2013/6/12 N.Ishii **************************************************/ #include /* PIC32 peripheral library */ /// Touch Ports define #define TCLK LATBbits.LATB12 #define TCS LATBbits.LATB13 #define TDIN LATBbits.LATB14 //#define BUSY LATBbits.LATB15 // 今回は、未使用 #define BUSY PORTBbits.RB15 //#define DOUT LATFbits.LATF2 #define DOUT PORTFbits.RF2 #define PENIRQ PORTFbits.RF6 // RF6:PENIRQ/信号を入力ポートで読込み、タッチON/OFFを判定するように変更: 130612 /// TCLK PW define //#define TCLK_PW delay_us(1) // 約500kHz //#define TCLK_PW delay_us(250) // 約2kHz(デバッグ用) #define TCLK_PW delay_250n() // 約2MHz /***************************************** * XPT2046 Command Set * (とりあえず、使うものだけ定義) *****************************************/ /// コマンド // 差動入力設定 /* #define CMD_RDX 0XD0 #define CMD_RDY 0X90 */ // シングルエンド入力設定 #define CMD_RDX 0XD4 #define CMD_RDY 0X94 /// 安定したタッチポイントの座標値計算(読み捨て+平均) /// に関するデファイン #define READ_TIMES 15 //#define READ_TIMES 30 #define LOST_VAL 5 //// 関数プロトタイプ void XPT_Write_Byte(unsigned char num); unsigned short XPT_Read_AD(unsigned char CMD); unsigned short XPT_Read_XY(unsigned char xy); void delay_250n(void);