导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[myyv]我使用LPC2368开发板,开发一款以S



No.51932
作者:myyv
邮件:jaljfklj@qq.com
ID:112580
登陆:1次
文章数:2篇
最后登陆IP:211.148.168.210
最后登陆:2008/7/5 16:21:07
注册:2008/5/31 14:42:08
财富:107
发帖时间:2008/7/3 10:17:20
发贴者IP:211.148.168.210
标题:myyv:我使用LPC2368开发板,开发一款以SD卡为存储介质的大U盘,现在读写速度慢
摘要:No.51932我使用LPC2368开发板,开发一款以SD卡为存储介质的大U盘,现在读写速度慢 我使用LPC2368开发板,开发一款以SD卡为存储介质的大U盘,开发板上带有SD卡模块和USB模块,我使用的编译器为KEIL,所使用的代码为KEIL编译器携带的两个例子程序,一个是USBMEM程序,他是用LPC2368的内部存储器来模拟一个14K的U盘,另一个是SD-FILE程序,这个也是编译器带的SD卡的读写例子程序,我把这两个程序合并后,现在编译完全通过,没有错误也没有警告,但是现在的开发板连到电脑后,读取一个32M的压缩包需要一分钟,而写入需要十分钟,这个速度请问是不是过慢?我测试普通的U盘32M的压缩包读写基本不需要一分钟,SD卡的时钟频率脚现在是3M,SD卡的读写程序有两个时钟频率,高速模式选择代码如下


static void mci_set_speed (U32 speed) {
   /* Set a MCI clock speed to desired value. */
   U32 i,clkdiv;

   if (speed == HIGH_SPEED) {
      /* Max. 20 MBit used for Data Transfer. */
      clkdiv = 1;
   }
   else {
      /* Max. 400 kBit used in Card Initialization. */
      clkdiv = 128;
   }
   
   MCI_CLOCK = (MCI_CLOCK & ~0xFF) | 0x300 | clkdiv;


   /* delay 3MCLK + 2PCLK before next write */
   for ( i = 0; i   < 100; i++ );
}
分频应该已经选择到最高频率,我看了其他的SD卡程序,时钟频率也在3M,这个应该没有问题吧,USBMEM模拟U盘这个程序在不连接SD卡程序的时候写32M用时为1分钟,SD卡读写10M为一分钟,那么这两个程序合并后读写32M的速度应该是在3分钟吧,为什么我现在读写32M确要10分钟之久,合并处的代码如下

USB读处改写后的函数:
void MSC_MemoryRead (void) {
DWORD n;


  if (Length >   MSC_MAX_PACKET) {
    n = MSC_MA ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:54049毫秒 查询6次