?? ps2.h
字號(hào):
#ifndef __PS2_H
#define __PS2_H
#include "delay.h"
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供學(xué)習(xí)使用,未經(jīng)作者許可,不得用于其它任何用途
//Mini STM32開(kāi)發(fā)板
//PS2 驅(qū)動(dòng)代碼
//正點(diǎn)原子@ALIENTEK
//技術(shù)論壇:www.openedv.com
//修改日期:2010/6/17
//版本:V1.0
//版權(quán)所有,盜版必究。
//Copyright(C) 正點(diǎn)原子 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//物理接口定義
//PS2輸入
#define PS2_SCL PAin(15) //PA15
#define PS2_SDA PAin(13) //PA13
//PS2輸出
#define PS2_SCL_OUT PAout(15) //PA15
#define PS2_SDA_OUT PAout(13) //PA13
//設(shè)置PS2_SCL輸入輸出狀態(tài).
#define PS2_SET_SCL_IN() {GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=0X80000000;}
#define PS2_SET_SCL_OUT() {GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=0X30000000;}
//設(shè)置PS2_SDA輸入輸出狀態(tài).
#define PS2_SET_SDA_IN() {GPIOA->CRH&=0XFF0FFFFF;GPIOA->CRH|=0X00800000;}
#define PS2_SET_SDA_OUT() {GPIOA->CRH&=0XFF0FFFFF;GPIOA->CRH|=0X00300000;}
#define MOUSE 0X20 //鼠標(biāo)模式
#define KEYBOARD 0X10 //鍵盤(pán)模式
#define CMDMODE 0X00 //發(fā)送命令
//PS2_Status當(dāng)前狀態(tài)標(biāo)志
//[5:4]:當(dāng)前工作的模式;[7]:接收到一次數(shù)據(jù)
//[6]:校驗(yàn)錯(cuò)誤;[3:0]:收到的數(shù)據(jù)長(zhǎng)度;
extern u8 PS2_Status; //定義為命令模式
extern u8 PS2_DATA_BUF[16]; //ps2數(shù)據(jù)緩存區(qū)
extern u8 MOUSE_ID;
void PS2_Init(void);
u8 PS2_Send_Cmd(u8 cmd);
void PS2_Set_Int(u8 en);
u8 PS2_Get_Byte(void);
void PS2_En_Data_Report(void);
void PS2_Dis_Data_Report(void);
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -