阅读:1407回复:7
ez-usb
ez-usb的开发板上有一片E2PROM,其中的第一字节决定主机下载的驱动程序,我怎样才能知道E2PROM的第一个字节是什么,怎么将它读出来?
|
|
沙发#
发布于:2002-10-18 08:44
我在ISOStream的基础上改了一下的快速同步传输的程序,编得不好,发给你吧!
|
|
|
板凳#
发布于: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代码了。 |
|
|
地板#
发布于:2002-10-17 22:24
laicq:
其实我也不会c51,知识学着瞎改。怎么嵌入a51,我不会,你有例程吗?给我一份吧,我的email:freecharry@163.com thanks a lot! |
|
地下室#
发布于:2002-10-17 21:24
1、对不起,我没有看过这个例子。
2、确定外部RAM的地址,这个在拨码开关中好象可以设置,这样你可以确定你所要读的64个字节的地址。然后就读出来放入IN2DATA中就是了。一般我遇到这种情况,会用嵌入A51的方式来处理,因为我的C51不过关。 |
|
|
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;*/ 中断怎么使用? } 万分感谢!!! |
|
6楼#
发布于:2002-10-17 14:34
具体的说是Vend_Ax这个例子就可以对EEPROM进行读取和写入。你可以下下去。操作“Vend Req”按钮,注意“Dir”方向。初始值是“BO 43 05 80 00 01 00”
|
|
|
7楼#
发布于:2002-10-17 12:09
你看看ez-usb的control panel吧,可以从那里读写那个片子,一般来说,调试的时候,没有这么麻烦,可以不要那个片子也能正常下在。
这时,usb core会根据自己的一个vid/pid来决定加在那个驱动。 |
|
|