ps_sony.h

来自「代码用于测试dsp2812的硬件功能」· C头文件 代码 · 共 53 行

H
53
字号
#ifndef	__PS_SONY_H__
#define	__PS_SONY_H__


#ifdef __cplusplus
extern "C" {
#endif

//	write your header here

//Ports operations definitions,change the pins according to the fact,if needed;
// CLK: data saved at negative edge;
#define PS_CLK_UP()		GpioDataRegs.GPFDAT.bit.GPIOF0 = 1;
#define PS_CLK_DOWN()	GpioDataRegs.GPFDAT.bit.GPIOF0 = 0;

// ATT: chip select signal,low active;
#define PS_ATT_UP()		GpioDataRegs.GPFDAT.bit.GPIOF3 = 1;
#define PS_ATT_DOWN()	GpioDataRegs.GPFDAT.bit.GPIOF3 = 0;

// CMD: command signal;
#define PS_CMD_UP()		GpioDataRegs.GPFDAT.bit.GPIOF2 = 1;
#define PS_CMD_DOWN()	GpioDataRegs.GPFDAT.bit.GPIOF2 = 0;

// DATA: 
#define PS_DATA_UP()	GpioDataRegs.GPFDAT.bit.GPIOF1 == 1?1:0;
//#define PS_DATA_DOWN()	GpioDataRegs.GPFDAT.bit.GPIOF1 == 0;

//Command data;
#define STRT   0x01  //开始命令
#define DatReq 0x42  //请求传送数据

//输出数据结构体
//每个字节的具体含义参见光盘中的《PS游戏手柄》文档
struct PSValue {
     Uchar ID;		//手柄ID
     Uchar Arrows;	//四个方向键及select,start键。第一数据字节
     Uchar FunKey;	//"L2" "R2" "L1" "R1" "/\" "O" "X" "|_|"8个功能键键值
     Uchar RX;    	//Right JOY X方向偏移,0x00 = Left 0xFF = Right
     Uchar RY;    	//Right Joy Y方向偏移,0x00 = Up 0xFF = Down
     Uchar LX;    	//Left  Joy X方向偏移,0x00 = Left 0xFF = Right
     Uchar LY;    	//Left  Joy Y方向偏移,0x00 = Up 0xFF = Down
};

void GetPSValue(struct PSValue *value);	//从手柄中串行读取数据的函数;
Uchar Send_Get(Uchar sData);			//读取手柄所有数据的函数;
void InitPort_PS(void);					// Initialize the port connected to the psx controller;

#ifdef __cplusplus
}
#endif /* extern "C" */

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?