目录导航
此节的目的只是让PC能识别到硬件的插入(即识别到这是一个USB设备),其实质是要求我们能驱动PDIUSBD12,只要实现了这一步,说明PDIUSBD12的固件驱动已经完成一半了。一般,各厂商都供了各自USB接口芯片固件参考代码,我们只需要对这些代码作少量修改就能满足我们的要求,所以没有必要从零开始写固件驱动,这一定是个庞大的工程。
第一步:固件下载
下载周立公编写的基于其一款开发板的PDIUSBD12固件程序。
点此下载
此固件程序基于PHILIPS公司提供PDIUSBD12固件驱动,选用周立公版是因为我们只需要对其再作小小改动即能适用于本项目的硬件。
第二步:修改D12Config.h文件
主要是修改主控芯片的I/0引脚定义。
1、找到以下代码:
在其后面添加以下代码:
2、将以下几行代码:
修改为:
第三步:修改D12HAL.C文件
由于原固件是基于DMA方式的,而我们的硬件电路不支持DMA传输,所于主要是对这些部分作修改。
1、将以下两行注释掉:
2、将以下几行注释掉:
3、将以下代码
修改为
4、将以下代码
全部修改为
第四步:修改D12Driver.c文件
将以下函数
第五步:测试PC机是否能识别硬件
1、烧录编译后的HEX文件
2、将EUP51连接到电脑,如果一切顺利的话,LED灯会闪烁几下,然后电脑提示找到新硬件,否你您的硬件可能有问题,请参考"测试您的硬件"一节排除硬件故障。
修改好后的源程序:点击下载
附录:
快速判断主控芯片与D12是否连接正确的方法
1)、使用模式设置命令(0xF3)去改变D12第13脚的输出频率,如果可以改变,证明主控芯片向D12发送命令正确。 2)、使用读取ID命令(0xFD)去读,读回两个字节的內容,第一个字节应为0x12,第二个字节应为0x10。如果正确,则表明D12向单片机发送数据没有问题。
以上两步都通过了的话,证明硬件连接应该没有问题了。
您如果使用仿真器进行开发的话将会非常方便,如果没有仿真器,可以使用扩展板EXT-BOARD-A上的串行接口将一些需要的信息发送到PC机上。以下是我们通过串行口向PC机发送的D12枚举的过程:
点击这里下载嵌入了串口调试的固件程序源代码(此代码模拟了一个鼠标)