freecharry
驱动牛犊
驱动牛犊
  • 注册日期2002-03-28
  • 最后登录2003-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1407回复:7

ez-usb

楼主#
更多 发布于:2002-10-17 12:04
ez-usb的开发板上有一片E2PROM,其中的第一字节决定主机下载的驱动程序,我怎样才能知道E2PROM的第一个字节是什么,怎么将它读出来?
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-18 08:44
我在ISOStream的基础上改了一下的快速同步传输的程序,编得不好,发给你吧!
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-18 08:29
1)新创建一个.C文件,在里面申明几个你需要调用的A51函数的C51空函数。
2)将.c文件加入工程中。在工程列表中右击该.C文件,选择“Option for File \"你的.C文件名\"”弹出式菜单。
3)选中“Generate Assembler SRC File”复选框,编译工程。
4)将生成的.SRC文件加入工程,而.C文件从工程中删掉。在.SRC文件中就可以写你的A51代码了。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
freecharry
驱动牛犊
驱动牛犊
  • 注册日期2002-03-28
  • 最后登录2003-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-17 22:24
laicq:
其实我也不会c51,知识学着瞎改。怎么嵌入a51,我不会,你有例程吗?给我一份吧,我的email:freecharry@163.com
thanks a lot!
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-17 21:24
1、对不起,我没有看过这个例子。
2、确定外部RAM的地址,这个在拨码开关中好象可以设置,这样你可以确定你所要读的64个字节的地址。然后就读出来放入IN2DATA中就是了。一般我遇到这种情况,会用嵌入A51的方式来处理,因为我的C51不过关。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
freecharry
驱动牛犊
驱动牛犊
  • 注册日期2002-03-28
  • 最后登录2003-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-17 20:00
OS_Dev、laicq:
   1。你们使用过bulktest这个例程吗?它是用14个端口连续的发送与接收,我在host程序中添加了几行代码,
for( j=0;j<outPacketSize;j++) //加在发送循环里    
{
   wsprintf (tempbuff, \" %d\",outBuffer[j]);
SendMessage (hOutputBox, LB_ADDSTRING, 0, (LPARAM)tempbuff);

}

for( j=0;j<inPacketSize;j++)   //加在接收循环里          
{
   wsprintf (tempbuff, \" %d\",inBuffer[j]);
   SendMessage (hOutputBox, LB_ADDSTRING, 0, (LPARAM)tempbuff);
}
让每次发送或接收的数据显示出来,发现相应端口(比如2和9)发送和接收的数据不一样,不知为什么?


2。我的任务中有一部分是将an2131qc外扩的ram中的数据通过usb口传给主机。我现在第一步想将bulktest改一改,只使用端口2,主机不发送数据,固件在端口2发送数据0-63(64个字节),主机接收,但我很迷糊,不知怎么改,帮我出出主意吧,下面是我改的,但不对。
void ISR_Ep2in(void) interrupt 0
{

int i;
   // Loop the data to the IN endpoint
   for (i=0; i < 64; i++)
   {
      IN2BUF = i;
   }

   // Arm the IN endpoint
   IN2BC = 0x40;*/

   中断怎么使用?
}

万分感谢!!!
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-17 14:34
具体的说是Vend_Ax这个例子就可以对EEPROM进行读取和写入。你可以下下去。操作“Vend Req”按钮,注意“Dir”方向。初始值是“BO 43 05 80 00 01 00”
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-17 12:09
你看看ez-usb的control panel吧,可以从那里读写那个片子,一般来说,调试的时候,没有这么麻烦,可以不要那个片子也能正常下在。

这时,usb core会根据自己的一个vid/pid来决定加在那个驱动。
I know nothing!
游客

返回顶部