阅读:3290回复:30
63001的问题!做过的过来帮帮忙!!!
我参照usbhidio.asm写的固件程序框架,结合要实现的功能后,决定只采用ep0,只用ep0的控制传输完成对设备的配置和用户程序与设备间的数据传输。把我要实现的设备功能都定义为厂商的请求(对应应该是0xc0,0x40?),再根据请求中wvalue的值来判断是要请求的哪种功能,从而转向完成此功能的子函数。如果我这样做的话,在控制传输进行之前的代码,比如说main loop的函数如何写?因为我调试的时候总是观察不到控制传输三个阶段的运行。还有一点不是很明确,就是主机对设备的配置应该是在控制传输三个阶段内完成的吧?另外,列举的部分完成与否如何判断?
还有我现在的firmware运行后,主机得不到设备的描述符和vid、pid 我想应与mainloop有关,可是不知道如何写才行?请做过的哥们分析以下给些提示!困饶很久了,sigh! :( |
|
沙发#
发布于:2002-07-15 17:26
斑竹做过,帮帮忙!!只有自己up了:(
|
|
板凳#
发布于:2002-07-16 09:14
你提的问题太乱了,我都不知道你具体在问什么.最好用1,2,3,4标示出来,一目了然,别人回答的时候也有针对性.
|
|
|
地板#
发布于:2002-07-16 09:34
我参照usbhidio.asm写的固件程序框架,结合要实现的功能后,决定只采用ep0,只用ep0的控制传输完成对设备的配置和用户程序与设备间的数据传输。把我要实现的设备功能都定义为厂商的请求(对应应该是0xc0,0x40?),再根据请求中wvalue的值来判断是要请求的哪种功能,从而转向完成此功能的子函数。
问题: 1。我是否可以这样做? 2。可以的话,main loop函数怎么写呢?或者说在这种情况下,main loop部分要完成什么样的功能; 3。如何判断主机对设备的列举完成; 斑竹、大家帮忙! |
|
地下室#
发布于:2002-07-16 21:05
很巧! 我也正在做63001A,可以看的出:我比你做的糟糕。
你是用CY3650和CM8MON41了吗? 如果用的顺手的话,我想用一些断点来调试你的程序。 还有你的程序可参考一些USB鼠标(有下载的)。 可是我的CY3650怎么用,都不行,不知道是它的问题,还是我的问题, 也许我和它都有问题。 |
|
5楼#
发布于:2002-07-17 08:44
kfb:
我也是用cy3650和cm8mon41, 可以把你的遇到的情况说一下,为什么不能用? 或许大家可以帮你 |
|
6楼#
发布于:2002-07-17 22:00
我的遭遇如下:
首先我觉得我所调试的程序没问题,因为它写到片子里, 可以正常运行! 但我把程序下载到CY3650板上RAM中,然后RUN。 我再把PC机的USB接口接到CY3650板上的USB接口后,通过CM8MON41 知道:USB总线仅使本开发板复位,却不能使开发板得端点0的中断! PC机上表明USB设备无回应。 我的环境: 同一台PC:WIN98! 你的环境? 你的开发板可得到SETUP中断吗? |
|
7楼#
发布于:2002-07-18 22:34
大家再帮我看看!
谢谢!!! |
|
8楼#
发布于:2002-07-19 09:53
1. 可以
2. 初始化,无限循环 3. 一般在SetConfig后. 你需要知道这个干嘛? |
|
|
9楼#
发布于:2002-07-22 15:14
to rayyang:关于第2个问题,能说的更为详细一点吗?
|
|
10楼#
发布于:2002-07-22 16:22
我做过cy7c63413的开发,用cy3651仿真的,和3650差不多,我觉得仔细看懂鼠标和键盘的例子程序应该没问题,还是比较简单的!
|
|
11楼#
发布于:2002-07-24 11:12
To zerline:
你现在的项目做的怎么样了。 你的control_write是怎么处理的? qq:5723737 jonhychang@263.net |
|
12楼#
发布于:2002-07-24 13:58
你有没有开发包。如果哦你又开发包的话很容易的。还有你说主机找不到VID,PID。那你的设备计算机可以识别嘛!
|
|
13楼#
发布于:2002-07-24 14:11
to:Phoritto
计算机只能识别出是usb device(应该是没有识别吧),另外你说的开发包指的是什么? --------------- qq:23270714 mail:zhangaidi@163.net |
|
14楼#
发布于:2002-07-24 14:29
CY3650的仿真环境需要纯英文操作系统。
参考鼠标的示例。 比较简单,坚持就是胜利。 |
|
|
15楼#
发布于:2002-07-24 15:01
我说的开发包是Cypress公司的开发板带的一套开发软件。如果你能等到的话开发起来就很简单了。对了,你的设备完成啥功能?
|
|
16楼#
发布于:2002-07-24 15:04
对了,忘了问你。你的板子上有没有EEPROM呀!一般VID PID都是烧到里面。在上电是自动下载。主机识别。既然你没有识别,下面的工作也就不能进行 :)。
|
|
17楼#
发布于:2002-07-24 15:46
to:jbxie:
CY3650的仿真环境需要纯英文操作系统。我用的中文win2000pro,只要将区域设置改为英文,可以进行仿真的,不知道和纯英文操作系统有什么区别?另:谢谢鼓励:) to:Phoritto 我说的开发包是Cypress公司的开发板带的一套开发软件。如果你能等到的话开发起来就很简单了。对了,你的设备完成啥功能?有cy3650开发板所带的一些例程(hid的),和一个监视环境;在仿真的时候,有两种方式,我是将*.rom文件下载到program ram里,我想这个和你说的主机“识别”没有影响; 现在只要能完成与主机的通信,就可以了~~ 希望正在做和做过cypress6300x的朋友留下你们的qq或email,便于大家彼此交流,共同提高! ----------------------- qq:23270714 email:zhangaidi@163.net |
|
18楼#
发布于:2002-07-24 16:03
那你pid vid是多少你自己应该清楚吧。你可以到注册表里看看你的设备发现没有。发现了可以看见你的PID VID.
|
|
19楼#
发布于:2002-07-24 16:28
pid和vid是我随便设置的,0001,04b4,可是在注册表中是显示的是vid0000&pid0000。
另外在注册表中的key_local_machine\\system\\currentcontrolset\\enum\\usb\\某一设备 \\下有一个键值:locationinformation:REG_SZ:XXXX,另外还有一个:DeviceDesc:REG_SG:YYYY,我想知道,这个XXXX和YYYY是在固件中设定的呢,还是在*.inf文件中呢? |
|
上一页
下一页