PS2(PS2)
全局变量
| 全局变量 | 类型 | 注释 |
|---|---|---|
| Handkey | u16 | 按键值读取临时存储 |
| Comd | u8[2] | 开始命令数组 |
| Data | u8[9] | 数据存储数组 |
| MASK | u16[16] | 按键掩码数组 |
宏定义
| 宏定义 | 值 | 注释 |
|---|---|---|
| PS_RCC_DI | RCC_APB2Periph_GPIOB | 数据输入DI引脚的时钟 |
| PS_RCC_DO | RCC_APB2Periph_GPIOB | 数据输出DO引脚的时钟 |
| PS_RCC_CS | RCC_APB2Periph_GPIOB | 片选CS引脚的时钟 |
| PS_RCC_CLK | RCC_APB2Periph_GPIOB | 时钟CLK引脚的时钟 |
| PS_PIN_DI | GPIO_Pin_14 | 数据输入DI引脚 |
| PS_PIN_DO | GPIO_Pin_15 | 数据输出DO引脚 |
| PS_PIN_CS | GPIO_Pin_12 | 片选CS引脚 |
| PS_PIN_CLK | GPIO_Pin_13 | 时钟CLK引脚 |
| PS_PORT_DI | GPIOB | DI引脚的GPIO端口 |
| PS_PORT_DO | GPIOB | DO引脚的GPIO端口 |
| PS_PORT_CS | GPIOB | CS引脚的GPIO端口 |
| PS_PORT_CLK | GPIOB | CLK引脚的GPIO端口 |
| DI | PBin(14) | 数据输入 |
| DO_H | PBout(15)=1 | 命令位高 |
| DO_L | PBout(15)=0 | 命令位低 |
| CS_H | PBout(12)=1 | CS拉高 |
| CS_L | PBout(12)=0 | CS拉低 |
| CLK_H | PBout(13)=1 | 时钟拉高 |
| CLK_L | PBout(13)=0 | 时钟拉低 |
| PSB_* | 对应的按键值 | 各种按键的常量定义 |
方法
PS2_Init(void)
PS2接收器模块初始化
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_Cmd(u8 CMD)
向手柄发送命令
| 参数 | 类型 | 注释 |
|---|---|---|
| CMD | u8 | 要发送的命令 |
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_RedLight(void)
判断是否为红灯模式
| 返回值 | 类型 | |
|---|---|---|
| 0 | u8 | 红灯模式 |
| 1 | u8 | 其他模式 |
PS2_ReadData(void)
读取手柄数据
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_DataKey(void)
读取按键值
| 返回值 | 类型 |
|---|---|
| 按键值 | u8 |
PS2_ClearData(void)
清除数据缓冲区
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_Vibration(u8 motor1, u8 motor2)
设置手柄震动
| 参数 | 类型 | 注释 |
|---|---|---|
| motor1 | u8 | 右侧小震动电机(0x00关,其他开) |
| motor2 | u8 | 左侧大震动电机(0x40~0xFF开,值越大震动越大) |
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_ShortPoll(void)
短轮询
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_EnterConfing(void)
进入配置模式
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_TurnOnAnalogMode(void)
发送模拟量模式设置
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_VibrationMode(void)
设置振动模式
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_ExitConfing(void)
完成并保存配置
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_SetInit(void)
控制器配置初始化
| 返回值 | 类型 |
|---|---|
| 无 | void |
PS2_Data_Show(void)
按键值测试及输出函数
| 返回值 | 类型 |
|---|---|
| 无 | void |