打印

庆祝一下 用STC89C58RD+单片机内部的16KB EEPROM做U盘开发成功了

[复制链接]
8282|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wahahaabc|  楼主 | 2007-10-8 12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
123654789| | 2007-10-8 12:27 | 只看该作者

恭喜 楼主

请 公开  原理图  和程序 代码 拉

使用特权

评论回复
板凳
wahahaabc|  楼主 | 2007-10-8 12:33 | 只看该作者

source code

原理图就是ZLG的 SMART D12开发板的原理图(网上有下载)
源代码因为偶是在公司的51单片机软件开发平台上开发的,有些地方涉及到公司的代码,所以只上传D12部分的代码和EEPROM部分的代码,希望大家见谅
相关链接:https://bbs.21ic.com/upfiles/img/200710/2007108123257748.pdf

使用特权

评论回复
地板
123654789| | 2007-10-8 12:35 | 只看该作者

谢谢 楼上

俺 一时间  还看不明白

复制 下来  回去 慢慢 的研究

使用特权

评论回复
5
wahahaabc|  楼主 | 2007-10-8 12:36 | 只看该作者

源代码

使用特权

评论回复
6
wahahaabc|  楼主 | 2007-10-8 12:39 | 只看该作者

格式化的.HEX文件

大家只要将.HEX文件写入到SMART D12开发板,打开U盘就可以看见TEST.TXT文件,文件的内容是“简洁就是美 ”,然后就可以任意写文件和读文件
相关链接:https://bbs.21ic.com/upfiles/img/200710/2007108123919567.rar

使用特权

评论回复
7
wahahaabc|  楼主 | 2007-10-8 12:43 | 只看该作者

顺便说一下源代码

偶写的源代码并不是很完善,更谈不上完美,偶主要是想学习一下用USB开发U盘的原理,大家如果对源代码有什么意见或是有更好的程序架构,也发帖出来互相交流一下

使用特权

评论回复
8
123654789| | 2007-10-8 12:48 | 只看该作者

wahahaabc 除了 这个 还有没有 得意制作 啊 ??

使用特权

评论回复
9
wahahaabc|  楼主 | 2007-10-9 11:37 | 只看该作者

用SMART D12开发板做的HID多媒体键盘(计算器 和 一键上网)

不敢说得意之作,只是没什么事情的时候做点小玩具玩玩。用SMART D12开发板做的HID多媒体键盘,按下其中的一个按键就可以启动windows的计算器程序,按下另一个按键就可以打开IE浏览器,偶将.HEX文件上传,直接将.HEX文件写入D12开发板就可以了
相关链接:https://bbs.21ic.com/upfiles/img/200710/2007109113522338.rar

使用特权

评论回复
10
huangqi412| | 2007-10-9 13:54 | 只看该作者

好东西,下了学习一下

使用特权

评论回复
11
古道热肠| | 2007-10-10 11:45 | 只看该作者

楼主好样的,鼓掌!

  楼主的ID咱像当年红极一时的“姓哈哈”,想必也是乐天派性格。

使用特权

评论回复
12
wahahaabc|  楼主 | 2007-10-10 12:14 | 只看该作者

古道热肠大侠也来捧场 偶有些激动 谢了

使用特权

评论回复
13
古道热肠| | 2007-10-12 09:48 | 只看该作者

版主奖罚分明,楼主还不快谢谢版主

   昨天拿你的U盘Hex文件测试了一下,现象如下,一次枚举完全成功,U盘大小为0字节,无文件。
   拔掉,重新插上,出现TXT文件,打开文件,看到你的那句话了“简单就是美”。修改文件内容存盘不成功。
   能做成这样,已经离完全兼容不远了。共享给大家,会给拥有D12开发板的网友一个看得见的目标,很好!!!

键盘Hex文件测试,一键上网正常,一键启动计算器没反应,也还不错。

使用特权

评论回复
14
wahahaabc|  楼主 | 2007-10-12 12:39 | 只看该作者

古道热肠大侠可以这样测试一下

偶的U盘程序和HID键盘程序在偶的办公室中的10台机器上做过测试,只有一台机器没有通过,其余都OK,所有测试机器的操作系统都是WIN XP SP2版本。古道热肠大侠在测试中出现问题,可以这样测试一下:
方法(1)换一台机器
方法(2)先插入D12开发板,等待windows的“设备管理器”中出现相应设备时,然后卸载相应设备的驱动程序,然后拔下D12开发板,再插入D12开发板。

偶原来在调试HID的键盘程序时,也出现过类似的情况,只要将其驱动程序卸载以后,再重新插入D12开发板即可解决

但是U盘程序好像还从来没出现这样的问题,多谢古道热肠大侠帮忙测试程序,偶再仔细测试一遍,看看会不会出现问题

使用特权

评论回复
15
古道热肠| | 2007-10-12 16:44 | 只看该作者

哈哈,我不测了周立功的了

   U盘我做了,我了做过类似的D12开发板,我将抽空也学你弄个袖珍版U盘。

使用特权

评论回复
16
wahahaabc|  楼主 | 2007-10-12 17:40 | 只看该作者

古道热肠大侠不要误会,偶可不是周立功公司的

古道热肠大侠不要误会,偶可不是周立功公司的,偶也不是给D12开发板打广告,只是原来在ZLG公司买了一块SMART D12开发板,觉的提供的程序功能比较单一,不太好玩,前段时间没什么事情,就写了一个袖珍版的U盘

使用特权

评论回复
17
CAESARKING| | 2007-11-21 16:24 | 只看该作者

SCSI_ModeSense

wahahaabc,古道热肠,大侠你们好,在下在做U盘开发过程中一直困惑于SCSI命令块,比如主机发出一个命令,设备反回一个命令结果。其中有SCSI_ModeSense这条指令,要求设备返回的结果,看楼主的程序中返回为

static INT8U code TimerAndProtectPage[]=
      {
            0x0B, 0x00, 0x00, 0x00,                         // Mode Parameter Header
            0x1C, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00  // Timer and Protect Page
      };
      
      static INT8U code ModeSense[]=
      {
            0x0B, 0x00, 0x00, 0x08,
            0x00, 0x00, 0x00, 0x20,
            0x00, 0x00, 0x02, 0x00
      };

这两组数据中的一个(是对应mode sense中的page code来选择对吗),依照SCSI的规范中要求返回数据结构为
parameter list header+block descriptor+page

但看楼主返回的数据结构与规范中对应不上,这是怎么回事呢,能详细解说一下吗?

使用特权

评论回复
18
wahahaabc|  楼主 | 2007-11-22 14:52 | 只看该作者

RE: SCSI_ModeSense

先来解释一下
static INT8U code ModeSense[]=
{
// 前4个字节是模式参数头标
0x0B, // 模式数据长度
0x00, // 介质类型
0x00, // 设备特定
0x08, // 块描述符长度

// 后8个字节是一个块描述符
0x00, // 写密度
0x00, // 块数目(共32块)
0x00, 
0x20,
0x00, // 保留
0x00, // 块长度,每块512字节
0x02, 
0x00
};


static INT8U code TimerAndProtectPage[]=
      {
            0x0B, 0x00, 0x00, 0x00,                         // Mode Parameter Header
            0x1C, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00  // Timer and Protect Page
      };

可参见《USB Mass Stroage Class UFI Command Specification.pdf》
P24  4.5 Mode Select / Sense Parameters
P28  4.5.7 Timer and Protect Page (1Ch)
SCSI协议偶也没有完全搞清楚,希望大家共同学习

使用特权

评论回复
19
王紫豪| | 2007-11-25 01:03 | 只看该作者

16k的u盘,不错,哈哈!不能格式化,哈哈!

使用特权

评论回复
20
woshansi| | 2014-1-31 12:52 | 只看该作者
不错,值得学习,如果自己做硬件,这些程序还可以使用吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

627

帖子

0

粉丝