阅读:1307回复:8
求教!(frimware)
芯片:ez-2131q ,自己写了一个关于BULK传输方式的固件,初始化 已经完成,端点1设为bulk方式。又写了一个应用程序(vc),想输入字符在开发板上显示出来。该怎么办呢???
问题是:驱动发送的包,在固件方面应该怎么样进行接收,需要做些什么动作,怎么识别驱动发送包的方式,还有就是底层怎么向驱动发送包信息呢?现在我可以通过程序进行控制,那以后程序固化到E2PROM里以后,怎么向驱动发送消息呢??? 有和我用一样片子的吗?交流一下吧! 在线。。。 |
|
沙发#
发布于:2003-05-07 17:22
有人吗?
|
|
板凳#
发布于:2003-05-09 10:35
真的没有人知道吗?
我觉得很简单得,难道世上真得没有大侠吗? :P :P :P |
|
地板#
发布于:2003-05-09 14:43
你说了半天不就是想往设备发送数据吗?
你现在又个缺省的端点0和一个bulk端点1,所以你有两种方式可以达到这个目的,一个是用控制传输,一个是用bulk传输。 在vc里你可以通过deviceioctl函数或者writefile函数来传数据到设备驱动,然后驱动会把你的数据再传给usbd分成一个个数据包发送到设备,设备一旦正确收到数据就会发送中断给你的微控制器(你要记着,usb是全中断驱动的,几乎所有的事情都要通过中断来完成,而且它是个从设备,除远程唤醒外不会发任何消息或数据给主机,只能响应主机请求或命令,我觉得你对这些还没有完全弄明白),然后控制器把数据从端点里读出来,这就完成了一次out数据的传输,得到的数据你爱怎么着就怎么着,那时已经不是usb的事情了 这样回答你满意吗? |
|
地下室#
发布于:2003-05-09 16:00
果然是大侠!一出手就不同凡响!
我和他遇到的是同样的问题! 首先,在VC中,我也用的是BULK的端点1,在固件中接受是不是 用out1buf,我觉得是用的,但一对out1buf操作,,但是机子就 把 驱动给掉了。 怎么不能对out1buf操作吗? :P :P :P |
|
5楼#
发布于:2003-05-09 16:03
多谢大佬!你说的我明白了。
还有个问题请问,我用端点1作bulk,从主机向usb发数据了,数据是在哪个寄存器中? 就是说控制器怎么从端点1读数据呢? 我想将数据收到并稍加处理,比如在demo板显示或者返回主机。 非常感谢!!! |
|
6楼#
发布于:2003-05-09 17:09
主机发送的数据在OUT1BUF中
|
|
7楼#
发布于:2003-05-09 17:15
多谢大侠!
但我一对out1buf操作,,主机就把驱动给掉了。 请问怎么能对out1buf操作呢? |
|
8楼#
发布于:2003-05-09 17:26
对不起补充一下:
我用的是通用驱动GPD(自己写的那个sys总加不上去)。 到底为什么要自己写sys呢? |
|