阅读:1036回复:1
D12传输问题
D12下传问题,在下传数据(用主输入端点,USB_ENDPOINT_TYPE_BULK方式,PACK大为64)时,当PC机上应用程序WriteFile()每次写的包大于64时,D12将产生多个中断来响应以接受数据,比如WriteFile()写的包大小为128,则D12会产生两次接受中断,这样理解对吗?
现在问题是:当传下的包大于64时,或每包64,连续用for语句多发(WriteFile)几次包时,下微机中读取D12最后处理状态寄存器的值说明中会出现\"在前一状态被读出之前发生了第二个事件\",而且还比较有规律。这应该是说当前一个接受中断还没有处理完,就来了下一个接受中断吧。这类问题应该如何处理啊?当然如果每包64,且在for语句中每WriteFiler后延迟一点,可以解决问题,但这样效率太低!高手请指教!我的下微机是8位,24MHz D12上传问题,不能连续上传多个包(每包64),也不能上传大于64的包。有可能是驱动程序有问题,是不是驱动程序有问题,只可以每次打开设备,上传一次,然后关设备,再打开设备,再传。。 |
|
沙发#
发布于:2003-08-06 21:26
你设一下中断就能解决第一个问题。
第二的不是中断的问题。 你不给分,当然没人回答你了。 详细情况下次再说 |
|
|