logo资料库

第18章-输入设备(uCGUI中文手册).pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
第18章 输入设备
18.1 指针光标输入设备
指针光标输入设备API函数
GUI_PID_GetState()
GUI_PID_StoreState()
通用鼠标API
GUI_MOUSE_GetState()
GUI_MOUSE_StoreState()
PS2鼠标驱动程序API
GUI_MOUSE_DRIVER_PS2_Init()
GUI_MOUSE_DRIVER_PS2_OnRx()
通用触摸屏API
GUI_TOUCH_GetState()
GUI_TOUCH_StoreState()
用于模拟触摸屏驱动程序API
TOUCH_X 函数
GUI_TOUCH_Calibrate()
GUI_TOUCH_Exec()
GUI_TOUCH_SetDefaultCalibration()
TOUCH_X_ActivateX(),TOUCH_X_ActivateY()
TOUCH_X_MeasureX(),TOUCH_X_MeasureY()
配置触摸屏模块
18.2 键盘输入
µC/GUI预定义字符代码
GUI_StoreKeyMsg()
GUI_SendKeyMsg()
GUI_ClearKeyBuffer()
GUI_GetKey()
GUI_StoreKey()
GUI_WaitKey()
第18章 输入设备 µC/GUI 提供触摸屏,鼠标,和键盘支持。 基本µC/GUI 程序包包括一个用于模拟触摸屏 驱动程序和一个 PS2 鼠标驱动程序,不过别的种类的触摸板和鼠标装置在适当的驱动程序下 也可以使用。 任何类型的键盘驱动程序都适合µC/GUI。 用于输入设备的软件位于子目录 GUI\Core 中。 µC/GUI 中文手册 第 1 页
第 18 章 输入设备 18.1 指针光标输入设备 指针光标输入设备包括鼠标和触摸屏。 它们共用一组通用的指针光标输入设备(PID) 函数使得鼠标和触摸屏能同时起作用。 该函数一般由视窗管理器自动地调用,如先前所描述 的那样,起刷新显示屏的作用。 如果视窗管理器未使用,你的应用程序要负责调用 PID 函数。 数据结构 GUI_PID_STATE 类型的结构通过程序使用当前值填入的参数 pState 所引用。 该结构如下 所术定义: typedef struct { int x, y; unsigned char Pressed; }GUI_PID_STATE; 指针光标输入设备API函数 下表按字母顺序列出指针光标输入设备函数。 函数的详细说明在稍后给出。 函 数 说 明 GUI_PID_GetState() 返回 PID 的当前状态。 GUI_PID_StoreState() 存储 PID 的当前状态。 GUI_PID_GetState() 描述 返回指针光标输入设备的当前状态。 函数原型 void GUI_PID_GetState(const GUI_PID_STATE *pState); 参数 含意 pState 指向一个 GUI_PID_STATE 类型的结构的指针。 返回值 第 2 页 µC/GUI 中文手册
第 18 章 输入设备 如果输入设备当前被按下为 1;如果未按下为 0。 GUI_PID_StoreState() 描述 存储指针光标输入设备的当前状态。 函数原型 int GUI_PID_StoreState(GUI_PID_STATE *pState); 参数 含意 pState 指向一个 GUI_PID_STATE 类型的结构的指针。 18.1.1 鼠标输入驱动程序 鼠标支持由两个“层”组成:一个通用层和一个鼠标驱动程序层。 通用程序参考那些始 终存在的函数,不管你使用什么样的鼠标驱动程序。 另一方面,该有效的鼠标驱动程序,会 根据需要调用适当的通用函数,这些函数只能够用于µC/GUI 提供的 PS2 鼠标驱动程序。 如果 你自己写驱动程序,在程序中你要负责调用这些通用函数。 通用鼠标函数会依次调用对应的 PID 函数。 通用鼠标API 下表按字母顺序列出了通用鼠标函数。 这些函数可以用于任何类型的鼠标驱动程序。 函 数的详细说明在稍后给出。 函 数 说 明 GUI_MOUSE_GetState() 返回鼠标的当前状态。 GUI_MOUSE_StoreState() 存储鼠标的当前状态。 GUI_MOUSE_GetState() 描述 返回鼠标的当前状态。 函数原型 µC/GUI 中文手册 第 3 页
第 18 章 输入设备 int GUI_MOUSE_GetState(GUI_PID_STATE *pState); 参数 含意 pState 指向一个 GUI_PID_STATE 类型的结构的指针。 返回值 如果鼠标当前被按下为 1;如果未按下为 0。 附加信息 该函数会调用 GUI_PID_GetState ()。 GUI_MOUSE_StoreState() 描述 存储鼠标的当前状态。 函数原型 void GUI_MOUSE_StoreState(const GUI_PID_STATE *pState) ; 参数 含意 pState 指向一个 GUI_PID_STATE 类型的结构的指针。 附加信息 该函数会调用 GUI_PID_StoreState()。 PS2鼠标驱动程序API 下表按字母顺序列出了有效的鼠标驱动函数。 这些函数仅仅在你使用包括在µC/GUI 中的 PS2 鼠标驱动程序时才应用。 函 数 说 明 GUI_MOUSE_DRIVER_PS2_Init() 初始化鼠标驱动程序。 GUI_MOUSE_DRIVER_PS2_OnRx() 从接收中断程序调用。 第 4 页 µC/GUI 中文手册
第 18 章 输入设备 GUI_MOUSE_DRIVER_PS2_Init() 描述 初始化鼠标驱动程序。 函数原型 void GUI_MOUSE_DRIVER_PS2_Init(void); GUI_MOUSE_DRIVER_PS2_OnRx() 描述 必须从接收中断程序调用。 函数原型 void GUI_MOUSE_DRIVER_PS2_OnRx(unsigned char Data); 参数 Data 含意 通过中断服务程序(ISR)接收到的数据字节数。 附加信息 该 PS2 鼠标驱动程序是一种串行驱动程序,意思是它每次接受一个字节。 你需要保证这些函数从你的接收中断程序调用,每次接收一个字节(字符)。 18.1.2 触摸屏输入驱动程序和配置 触摸屏支持也是由一个通用层和一个驱动程序层组成。 通用函数用于任何类型的驱动程 序(模拟,数字,等等.)。 该有效的模拟触摸屏驱动程序,会根据需要调用适当的通用函数, 这些函数只能够用于µC/GUI 提供的模拟触摸屏驱动程序。 就象鼠标支持一样,如果你自己写 驱动程序,在程序中你要负责调用这些通用函数。 通用触摸屏函数会调用对应的 PID 函数。 驱动程序层同时包括一个可能需要修改的配置模块。 µC/GUI 中文手册 第 5 页
通用触摸屏API 第 18 章 输入设备 下表按字母顺序列出了通用触摸屏函数。 这些函数可以用于任何类型的触摸屏驱动程 序。 函数的详细说明在稍后给出。 函 数 说 明 GUI_TOUCH_GetState() 返回触摸屏的当前状态。 GUI_TOUCH_StoreState() 存储触摸屏的当前状态。 GUI_TOUCH_GetState() 描述 返回触摸屏的当前状态。 函数原型 int GUI_TOUCH_GetState(GUI_PID_STATE *pState); 参数 含意 pState 指向一个 GUI_PID_STATE 类型的结构的指针。 返回值 如果触摸屏当前被按下为 1;如果未按下为 0。 GUI_TOUCH_StoreState() 描述 存储触摸屏的当前状态。 函数原型 void GUI_TOUCH_StoreState(int x int y); 参数 x y 含意 X 轴坐标。 Y 轴坐标。 第 6 页 µC/GUI 中文手册
第 18 章 输入设备 附加信息 该函数会调用 GUI_PID_StoreState()。 用于模拟触摸屏驱动程序API µC/GUI 触摸屏驱动程序处理模拟输入(来自一个 8 位或更好的 A/D 转换器),对触摸屏进 行去抖动和校准处理。 该触摸屏驱动程序通过使用函数 GUI_TOUCH_Exec ()连续地监视和刷新触摸板,该函数在 它辨认出一个动作已经执行或者情况有所变化时,调用适当的通用触摸屏 API 函数。 下表按字母顺序列出了有效的模拟触摸屏驱动程序函数。 这些函数仅在你使用包括在 µC/GUI 中的驱动程序时才应用。 函 数 说 明 GUI_TOUCH_Calibrate() 更改刻度。 GUI_TOUCH _Exec() 激活 X 轴和 Y 轴的测量;需要大约每秒 100 次的调用。 GUI_TOUCH_SetDefaultCalibration() 恢复默认刻度。 TOUCH_X 函数 如果你使用µC/GUI 提供的驱动程序,下列四个与硬件相关函数需要加到你工程当中,而 在轮询触摸板时,它们通过 GUI_TOUCH_Exec ()函数调用。 一个建议的位置是在文件 GUI_X.C 中。 这些函数在下表列出: 函 数 说 明 TOUCH_X_ActivateX() 准备 Y 轴的测量。 TOUCH_X_ActivateY() 准备 X 轴的测量。 TOUCH_X_MeasureX() 返回 A/D 转换器 X 轴的结果。 TOUCH_X_MeasureY() 返回 A/D 转换器 Y 轴的结果。 GUI_TOUCH_Calibrate() 描述 在运行时更改刻度。 函数原型 µC/GUI 中文手册 第 7 页
第 18 章 输入设备 int GUI_TOUCH_Calibrate(int Coord, int Log0, int Log1, int Phys0, int Phys1); 参数 Coord Log0 Log1 Phys0 Phys1 含意 用于 X 轴是 0,用于 Y 轴是 1。 以像素为单位逻辑值 0。 以像素为单位逻辑值 1。 在 Log0 时 A/D 转换器的值。 在 Log1 时 A/D 转换器的值。 附加信息 该函数把要校正的轴,两个用于该轴的以像素为单位的逻辑值和两个对应 A/D 转换器的 物理值作为参数。 GUI_TOUCH_Exec() 描述 通过调用该 TOUCH_X 函数对触摸屏进行轮询,以激活 X 和 Y 轴的测量。 你必须保证这些 函数大约每秒钟被调用 100 次。 函数原型 void GUI_TOUCH_Exec(void); 附加信息 如果你在使用一个实时操作系统,确定这些函数被调用的最轻松的方式是创建一个单独 的任务。 当没有使用一个多任务系统时,你可以使用一个中断服务程序来做这项工作。 GUI_TOUCH_SetDefaultCalibration() 描述 将刻度复位为配置文件中设置的默认值。 函数原型 void GUI_TOUCH_SetDefaultCalibration(void); 第 8 页 µC/GUI 中文手册
分享到:
收藏