因为项目之前采用的是USB转SPI与下位机通信,另外电机控制是采用CANopen协议,对于项目的要求来说,速度还是太慢了;在参考了别人的设计方案之后,所以最近打算把方案更改一下,采用USB通讯的方式,其中所用的芯片是Cypress 68013A。我之前没有接触过USB通讯,所以得从零基础开始学习USB通讯。
在其他基础问题解决了之后,第一步就是学习了解Bulkloop示例,通过这个示例可以大致了解USB通讯的基础原理。但是我用Keil uVision 4打开Bulkloop的工程文件,在重生成的时候,报错了,Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE'。但很奇怪的是,我打开另外一个开发包中的Bulkloop工程,重生成却没有报错。
一开始我以为是Keil版本的问题,因为Bulkloop工程的后缀是.Uv2,而我把工程保存之后,后缀名变为.uvproj。后面发现不是这个原因,Uv2只是Keil4之前的版本工程文件的后缀,而uvproj是Keil4的版本工程文件的后缀。接下来找到一个解决方案是:找到Keil安装目录下的TOOLS.INI文件,把[C51]节下面的PATH="C:\Keil\C51\BIN\C51.EXE"改为当前安装目录,如下图所示。