[牛人杂谈] 使用U盘例程、Nano130板做U盘和读卡器

[复制链接]
13635|118
 楼主| 与时俱进 发表于 2014-4-23 21:59 | 显示全部楼层
虽然SPI字节重排序仅在 TX_BIT_LEN 被定义为 16 位,24 位和 32 位时有效,但是重新切换回8位模式时,还是必须把REORDER置为0,否则不能正常工作,具体原因没去跟踪。
1471225546 发表于 2014-4-26 17:13 | 显示全部楼层
求代码
从小木丁丁 发表于 2014-4-26 17:21 | 显示全部楼层
通宵敲代码 发表于 2014-4-22 23:00

从小木丁丁 发表于 2014-4-26 17:22 | 显示全部楼层
通宵敲代码 发表于 2014-4-22 23:00
啃了几下,牙掉了!

你竟然也没有搞定,服了
骗子的片子 发表于 2014-4-26 18:53 | 显示全部楼层
通宵敲代码 发表于 2014-4-22 15:49
加油!

恩,咱们一起加油
骗子的片子 发表于 2014-4-26 18:53 | 显示全部楼层
1471225546 发表于 2014-4-26 17:13
求代码

我也在求代码
骗子的片子 发表于 2014-4-26 18:54 | 显示全部楼层
从小木丁丁 发表于 2014-4-22 20:42
入门,求大神指点啊,你竟然会USB

会一点点不能算是会
骗子的片子 发表于 2014-4-26 18:54 | 显示全部楼层
从小木丁丁 发表于 2014-4-22 20:42
恩,努力使必须的

静候佳音
通宵敲代码 发表于 2014-4-26 20:22 | 显示全部楼层
骗子的片子 发表于 2014-4-26 18:53
恩,咱们一起加油

通宵敲代码 发表于 2014-4-26 20:23 | 显示全部楼层
从小木丁丁 发表于 2014-4-26 17:22
你竟然也没有搞定,服了

 楼主| 与时俱进 发表于 2014-4-26 20:35 | 显示全部楼层
本来数据缓冲区是512字节,只能用上单扇区读、写程序,速度较慢;
今天修改一下程序,缓冲区增加到4096字节,用上多扇区读写程序,速度有较大提高。
测试结果:
列目录时间(从插入USB到“我的电脑”出现可移动磁盘):31秒
写盘速度:350kB/S。   从硬盘拷贝一个130MB文件到SD卡,费时6分21秒
读盘速度:340kB/S。    同一个文件,从SD卡拷贝到硬盘费时6分33秒
 楼主| 与时俱进 发表于 2014-4-26 20:39 | 显示全部楼层
写盘速度提高了将近一倍(186—>350),读盘速度只是稍有改善(283—>340)。
有点奇怪,写盘速度竟然超过读盘速度。
 楼主| 与时俱进 发表于 2014-4-26 20:52 | 显示全部楼层
本帖最后由 与时俱进 于 2014-4-26 20:53 编辑

DataFlashProg.c文件修改成只剩下面两个子程序:
  1. void DataFlashRead(uint32_t addr, uint32_t size, uint32_t buffer)
  2. {
  3.     /* This is low level read function of USB Mass Storage */
  4.                 if(size >FLASH_PAGE_SIZE)
  5.             read_nSECTOR(addr,size,(uint32_t *)buffer);
  6.                 else
  7.                         readSECTOR(addr, (uint32_t *)buffer);
  8. }


  9. void DataFlashWrite(uint32_t addr, uint32_t size, uint32_t buffer)
  10. {
  11.     /* This is low level write function of USB Mass Storage */
  12.                 if(size > FLASH_PAGE_SIZE)
  13.                         write_nSECTOR(addr, size,(uint32_t *) buffer);
  14.                 else       
  15.                         writeSECTOR(addr, (uint32_t *) buffer);
  16. }

 楼主| 与时俱进 发表于 2014-5-3 21:28 | 显示全部楼层
进一步把SPI改成fifo传输模式,性能又提高了一些。
测试结果:
列目录时间(从插入USB到“我的电脑”出现可移动磁盘):27秒
写盘速度:427kB/S。   从硬盘拷贝一个130MB文件到SD卡,费时5分12秒
读盘速度:407kB/S。    同一个文件,从SD卡拷贝到硬盘费时5分28秒



骗子的片子 发表于 2014-5-30 22:42 | 显示全部楼层
通宵敲代码 发表于 2014-4-26 20:22

:hug:努力呢亲
骗子的片子 发表于 2014-5-30 22:42 | 显示全部楼层
与时俱进 发表于 2014-5-3 21:28
进一步把SPI改成fifo传输模式,性能又提高了一些。
测试结果:
列目录时间(从插入USB到“我的电脑”出现可 ...

一步一步看你成功,真开心
骗子的片子 发表于 2014-5-30 22:43 | 显示全部楼层
与时俱进 发表于 2014-4-26 20:52
DataFlashProg.c文件修改成只剩下面两个子程序:

if(size > FLASH_PAGE_SIZE)
                        write_nSECTOR(addr, size,(uint32_t *) buffer);
                else      
                        writeSECTOR(addr, (uint32_t *) buffer);
骗子的片子 发表于 2014-5-30 22:43 | 显示全部楼层
与时俱进 发表于 2014-4-26 20:39
写盘速度提高了将近一倍(186—>350),读盘速度只是稍有改善(283—>340)。
有点奇怪,写盘速度竟然超过读 ...

是不是读盘程序有问题啊
骗子的片子 发表于 2014-5-30 22:43 | 显示全部楼层
与时俱进 发表于 2014-4-26 20:35
本来数据缓冲区是512字节,只能用上单扇区读、写程序,速度较慢;
今天修改一下程序,缓冲区增加到4096字节 ...

写盘速度:350kB/S。   从硬盘拷贝一个130MB文件到SD卡,费时6分21秒
读盘速度:340kB/S。    同一个文件,从SD卡拷贝到硬盘费时6分33秒
通宵敲代码 发表于 2014-5-30 23:01 | 显示全部楼层
骗子的片子 发表于 2014-5-30 22:42
努力呢亲

必须的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部