mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2060回复:16

谁能提供ez-usb采集系统的固件源代码呀?送分!

楼主#
更多 发布于:2002-06-21 10:33
我要开发基于ez-usb的采集系统,这里有ez-usb的开发板和工具,我看了cypress开发板自带的固件例子,没有发现哪一个特别适合我的,哪位大侠能提供源代码呢?小妹是新手,想找做一下修改就行的那种例子,这样上手快。有分相送哦。
还有一个问题,就是cypress提供的ezusb驱动是不是不做任何修改就可以用了那?产品ID怎么得到呢?
 :) :) :)

最新喜欢:

sunmaculasunmac...
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-04 16:43
现在登陆了却不让我送分, :( :( :(

待会儿再试一试
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-04 16:36
sunkai
谢谢你!我无以为报,就送给你分吧!
你说的很对,这段时间我就在看单片机,呵呵
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-04 13:03
你有开发系统,我相信你的e文水准比我高,你仔细地看完安装目录下的文档后就一定比我懂得更多的理论.但如果你不熟悉c51也不懂a51,还是不大好做,不可能全部都由别人给你讲解的.
一个采集系统要做的事情包括usb接口硬件和firmware,AD模块(没准又要用到c51,a51),微弱信号还要放大器模块,主机方要驱动程序和桌面应用程序等等.如果全部由你一个人做的话,毫不夸张地说,没有一年时间做不出一个\"相对完善\"的东西出来.
实际上fw已经是个完整的框架,也就是说你一句也不写都可以用做接口功能,这当然还不够,你要控制下面的模块得到想要的数据,那么就要加入相应的代码,做一点点修改.如果想把指令从主机发送给设备,可以利用一个out端点的中断服务函数接收,你想得到的数据则从一个in端点的中断服务函数中等待传递,你问TD_pool()是干什么的?有个朋友答复的很对,就是一个task dispatch 例程,不用中断服务就要在TD_pool()中用查询的方式实现,可以结合使用.在这里你要做的是添加独特的功能代码,所以你不可能得到很多帮助,我们都不知道你的硬件是什么样子,也不知道该怎样去控制它,只有你才知道.
关于驱动程序,ezusb.sys是不需要修改的,还有其他问题,比如下载firmware等等,要参看文档,不看懂就听不懂,更没法做.
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-04 10:49
sunkai
我是新手嘛,你要是会就教教我好了
是不是觉得我搞了一个月的usb还没多少长进啊
唉,偶一点也不用功的说,让你见笑了

 :( :( :(
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-03 18:46
谦虚倒是蛮谦虚,就是要学的东西太多了, :D :D :D
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-03 16:12
谢谢liudongm! :) :) :)
那这一部分中断的代码是干什么用的呢?
liudongm
驱动牛犊
驱动牛犊
  • 注册日期2002-06-20
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-01 17:02
c51里中断服务函数的定义为
返回值 函数名() interrupt n[using n]
interrupt n 的n为对应的中断源的编号,在这里我觉得n应该为8,不过n为0也能正常工作
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-28 09:03
请问liudongm:
    你的那段代码在periph.c里面有的,就比如:
    void ISR_EP1out(void)  interrupt 0
    {  int i;
      ......
    }
   为什么都用interrupt 0?还有,interrupt是干什么用的?
   我查了好多资料还没弄清楚,所以只好请教你了,:(
liudongm
驱动牛犊
驱动牛犊
  • 注册日期2002-06-20
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-26 15:28
这段程序确实没有意义,把它删掉去吧。
hxqzsw
驱动牛犊
驱动牛犊
  • 注册日期2002-04-06
  • 最后登录2002-07-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-25 23:18
楼上的朋友能解释一下你的下面程序的意义吗?

if (EPIO[IN7BUF_ID].cntrl & bmEPBUSY)
{
TOGCTL = 0x08 | IN7BUF_ID;
WRITEDELAY();
if (TOGCTL & 0x80)
TOGCTL |= 0x20;
else
TOGCTL |= 0x40;
}
liudongm
驱动牛犊
驱动牛犊
  • 注册日期2002-06-20
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-25 10:57
TD_pool()里就写你要实现的功能就行了,比如说将你采集到的数据放到 IN7BUF,也可以放到其他INBUF里
TD_pool()
{
   BYTE length;
   BYTE DATA[x];
   BYTE i;
     ....          //数据采集,并将采集到的数据放入
     ....          //DATA[X]中,长度为length
     ....
   if (EPIO[IN7BUF_ID].cntrl & bmEPBUSY)
   {
      TOGCTL = 0x08 | IN7BUF_ID;
      WRITEDELAY();
      if (TOGCTL & 0x80)
         TOGCTL |= 0x20;
      else
         TOGCTL |= 0x40;
   }
   for(i=0;i<length;i++)
   {
        IN7BUF=DATA;
   }
   IN7BC = i;    
}
  这是2131QC的程序,cy7c64613没用过
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-25 09:48
这个我知道,就是不知道怎么写,所以才要例子啊
楼上的朋友有没有TD_pool函数的例子呢?
对于我的采集系统(cypress的ez-usb芯片cy7c64613),TD_pool里面的功能代码具体是哪些功能呢?
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-24 19:14
TD_pool函数就是主循环函数,在里边写你自己的功能代码,而firmware的框架都由FW给你做好了
liuxf66
mimosa_lr
驱动牛犊
驱动牛犊
  • 注册日期2002-06-10
  • 最后登录2003-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-24 16:05
请教liudongm
TD_pool()函数具体要做什么事呢?
你又没有例子啊?万分感谢!
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-06-21 17:43
\\Cypress\\USB\\Doc\\EZ-USB Series 2100\\AN2131 Bulk Performance.pdf
\\Cypress\\USB\\Target\\Fw\\Ezusb
产品id自己乱写,谁也管不着

[编辑 -  6/21/02 by  sunkai]
liudongm
驱动牛犊
驱动牛犊
  • 注册日期2002-06-20
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-06-21 14:26
用cypress提供的固件范例bulktest,把periph.c中的TD_pool()函数用你编写的函数替换掉就行了。ezusb.sys直接可以用。
游客

返回顶部