在上一节中,我们利用向导生成了一个驱动程序,那么这个驱动程序正常工作了吗?现在我们就来测试一下,先不用向导生成的测试程序,我们先用BUS Hound来测试。 1、打开UBS Hound,切换到“Settings”页,设置Max Phase的值为64,这样只要读/写数据在64字节以内都能完整显示 2、切换到“Devices”页,选择“Easy USB 51 Programer” 3、双击“Easy USB 51 Programer”,弹出Bus Commander对话框,选择端点2输出那一项,Data Length设为64,Data随便填,然后点Run按钮 5、当按Run按钮时我们发现实验板的LED灯会闪烁,证明有数据传输,再切换到Bus Hound的Capture页,发现发向设备的数据被成功抓到,证明驱动程序是正常工作的 6、再修改一下下位机程序,让实验更生动一点,下面我们来实现这样一个功能:设备的端点2如果接收到数据马上将接收到的数据通过端点2发送到主机,扩展板上的LED的状态由接收到的第一个字节决定,如果第一个字节为0x00,LED全灭,如果第一个字节为0xFF,LED全亮。 1)修改下位机程序,修改main函数,内容如下:
2)编译,烧录程序
同样利用Bus Hound向设备发送数据,我们就可以看到效果。 7、到目前为止我们都是用第三方工具来进行测试的,现在我们用DriverStudio向导生成的测试程序进行测试。 1)编译测试程序的方法:
2)运行测试程序:测试程序位于Easy_USB_51_Programer\exe\objchk\i386目录下,将其拷贝到C盘根目录(为了方便运行测试程序),在命令行模式下键入以内容: 我们将看到以下内容 查看测试程序得知发送的内容位于doWrite函数中,修改这个函数可以更改发送内容(记得重新编译测试程序后要重新拷贝一次)。 打开驱动程序的Read和Write函数一看,原来DriverWorks已经为我们完成了代码,是不是很简单? |