20楼#
发布于:2003-07-18 17:49
D12的速度不慢,是MCU慢了,
建议用DMA方式会最快 数据传送部分用汇编编写,改写C的IO函数 提高MCU时钟都会有比较好的效果 |
|
21楼#
发布于:2003-07-18 19:29
我也曾经遇到过楼主的情况,我采取以下方法问题得到解决,现在传送32M内容只需35秒,基本达到要求。 循环执行Readfile(...);这样也行吗?我采用了加大BUFFER的方法的,我设成64K。我觉得加大了BUFFER,就是循环执行了READFILE()啊,难道它们还有区别? |
|
22楼#
发布于:2003-07-19 08:44
引用:循环执行Readfile(...);这样也行吗?我采用了加大BUFFER的方法的,我设成64K。我觉得加大了BUFFER,就是循环执行了READFILE()啊,难道它们还有区别?
BUFFER再大也只有一个DWORD大,如果你传送大于一个DWORD的内容必须循环执行Readfile(...)。 |
|
|
23楼#
发布于:2003-07-19 08:48
补充:D12跟FLASH的速度都不是瓶颈,MCU跟他们都是并行通信,关键是MCU速度太慢没有把D12跟FLASH的速度发挥出来。
|
|
|
24楼#
发布于:2003-07-20 11:09
就是啊,我用的是中断的方式,我感觉MCU在响应中断时,把64个数据写入D12太慢了,更让人不解的是bulk方式下,每帧可以放16个数据包,不知道怎么实现?
|
|
25楼#
发布于:2003-07-20 11:13
引用:BUFFER再大也只有一个DWORD大,如果你传送大于一个DWORD的内容必须循环执行Readfile(...)。
一个DWORD是什么意思啊,是不是我设的BUFFER为64K,一个DWORD也就是64K? |
|
26楼#
发布于:2003-07-21 09:21
引用:BUFFER再大也只有一个DWORD大,如果你传送大于一个DWORD的内容必须循环执行Readfile(...)。 是的 |
|
|
27楼#
发布于:2003-07-27 18:49
我仔细的看了我的应用程序,上面用的是DO……WHILE的方式,应该用的是循环方式的,看来只有采用DMA方式了,痛苦啊!
|
|
28楼#
发布于:2003-07-27 18:51
hewx老兄,谢谢你聊了这么多,给点分你,先!希望以后能继续和你交流!
|
|
29楼#
发布于:2003-07-27 18:53
hewx老兄,不好意思,我放不了分,别的帖子给你放分吧!
真的抱歉 |
|
30楼#
发布于:2003-07-28 10:23
谢谢,分不是目的,能够在技术上做交流,彼此有进步才是最终目的。当然,有分给就更好,因为是对本人回答正确与否的评价。
|
|
|
上一页
下一页