PDIUSBD12鼠标:给入门者(2)
本帖子将介绍基于Brk-D12的鼠标的软件实现。 D12的硬件连接可以使用总线复用的方式(使用ALE,51/196/ATMega/C16x等单片机常用), 也可使用非总线复用的方式(使用A0,ARM/68K/DSP等常用),本帖子使用后者,因为执行 速度稍快(板子上焊接R4和R6,不焊R3和R5)。另外,需要说明的是,要在同一台PC上操 作,需要你的机器要足够快,但是如果用两台机器(一台作为USB Host,另一台作为USB Device-就是鼠标),则没有什么限制。
请先下载控制软件,软件主要在VC6下写的,使用console模式,同时可在BC++3.1下编译 (d12_pc.c和d12_hal.h中有宏定义);运行环境分别是giveio+WinXp/porttalk+WinXp,在 运行前请先安装giveio或者porttalk。
[软件下载] givei[upload=zip]viewFile.asp?ID=5450[/upload] porttalk:[upload=zip]viewFile.asp?ID=5451[/upload] software:[upload=zip]viewFile.asp?ID=5452[/upload]
1.首先,需要实现底层的硬件读写,d12_hal.c和d12_hal.h是Brk-D12的实现,如果你用 的是其他的硬件平台,则要适当修改。其实,跟硬件直接相关的是d12_read0和d12_write0 函数。这两个函数可能会根据不同PC的并口做相应的调整,如延时delay0(给出的文件中 没有做延时,我手头上的PC都没问题:PIII-800/Notebook:HP-NC600/Notebook:MMX-200), 因为不同并口的EPP模式从输出状态->输入状态的切换时间不同,并口电缆的长度不同, 并口速度也不尽相同。
2.为了有一个直观的认识,直接用VC6编译运行,程序会自动检测D12,如果:a.连接没有 问题;b.PC速度没有问题;c.并口设置为EPP模式,应该可以看到有一些提示信息输出,PC 提示找到可用的HID设备。当这一切结束后,便可以使用下面5个键进行测试了(分别代表 左键、中间键、右键、鼠标4个方向的移动): __________ _______ ___________ | Delete | | End | |PageDown | |________| |_____| |_________| ____________ | UpArrow | |__________| ____________________________________ |LeftArrow | DownArrow | RightArrow| |__________|___________|___________|
3.最后,可以看看代码是如何具体实现的,如有什么疑问,请看后续的帖子,后面将对代码 做更深入的说明。