阅读:1591回复:11
rayyang2000斑竹,请进
上次我的89C52+D12的速度还是没搞定,我估计还是固件代码的问题,请斑竹大发慈悲,把你以前做的固件代码给小弟一分参考参考吧,我真的很急啊。我的email是: bobbysun2000@sina.com
|
|
沙发#
发布于:2004-07-14 12:59
斑竹不在吗?
|
|
板凳#
发布于:2004-07-14 17:01
只剩下那个zboard了,其他的代码找不到了 sorry
|
|
|
地板#
发布于:2004-07-14 18:49
zboard是什么?顺便问两个问题:
1.做双缓冲读时,有 len = D12_ReadEndpoint(4, 64, EpBuf); epstatus=D12_ReadEndpointStatus(4); epstatus &= 0x60; if (epstatus == 0x60) len = D12_ReadEndpoint(4, 64, EpBuf);//读取双缓冲区数 这段程序中的EpBuf是不是要分配128字节?且读双缓冲时,是不是应该改成 len = D12_ReadEndpoint(4, 64, EpBuf+64); 2.怎样做双缓冲写呢?我试着写了一下,你看对吗? D12_WriteEndpoint(4, 64, EpBuf); epstatus=D12_ReadEndpointStatus(4); epstatus &= 0x60; if(epstatus!=0x60) D12_WriteEndpoint(4, 64, EpBuf); 谢谢! |
|
地下室#
发布于:2004-07-15 12:57
斑竹你老人家在吗?
|
|
5楼#
发布于:2004-07-15 21:43
斑竹你老人家在哪儿啊?哥们急啊!
|
|
6楼#
发布于:2004-07-16 11:41
你的速度有多少?我的单片机的晶振是11.0154M,现在读写的速度是60K/s.我想如果还一个快点的单片机,速度会有几百k!dsp和arm的话速度就更快了!
|
|
7楼#
发布于:2004-07-16 14:28
哦。我的才32K,晶振是24MHz的,能不能把你的固件代码发一个我参考一下?
bobbysun2000@sina.com |
|
8楼#
发布于:2004-07-16 14:54
在中断函数中将些函数展开(不要调用任何函数)。底层函数也是各问题,要用最少的代码来写数据!你这样改写,速度应该能上去!
还有你用的是什么的固件,是不是用周立功的固件库文件了?如果是的话,速度就不会很快了! 我开始只有十几k,后来就上到60k了! |
|
9楼#
发布于:2004-07-16 20:38
我用的就是D12。没有,我用自己的驱动,自己的应用程序。
我的端点2的发送中断就那几句,怎么展开呢? if(datanum>0) { if(datanum>64) { D12_WriteEndpoint(5,64,EpBuf); datanum=datanum-64; } else { D12_WriteEndpoint(5,datanum,EpBuf); datanum=0; } } |
|
10楼#
发布于:2004-07-17 16:12
xulingfei ,你也不在吗?
|
|
11楼#
发布于:2004-07-20 21:43
双缓冲的具体细节忘记了,只记得说,EP2的FIFO其实是128bytes的,如果你写前面的64bytes后,可以直接就写后面的64bytes(当然对firmware来说,看起来是向老地方写),不用等前面的64bytes发送完才开始写下面的。
这样说,不知道你清楚没有,好像有点绕口,呵呵 :D |
|
|