8927|34

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助:端点0处理函数 [复制链接]

                                 在STM32的USB例程里面,应该如何增加用户自己定义的端点0 的处理函数啊?貌似只看到有EP1_OUT_Callback端点1的。。求助ing。。。
此帖出自stm32/stm8论坛

最新回复

                                 问题解决了,你就结帖吧,  详情 回复 发表于 2010-7-5 15:32
点赞 关注
 

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 你要增加什么函数?处理什么?
此帖出自stm32/stm8论坛
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

板凳
 



增加一个函数,处理我自己定义的命令,比如说我从主机通过端点0给设备发送a1 01 02 01 00 00 06 00,然后设备再通过端点0回复06 00 00 00,这样
此帖出自stm32/stm8论坛
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 你可以参考JoyStickMouse这个例子,在Joystick_Data_Setup()函数中,参照GET_PROTOCOL的处理设置。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 

?CopyRoutine = Joystick_GetProtocolValue;能帮忙解释一下嘛?有些看不懂,是我要自己写一个函数,然后 CopyRoutine = Joystick_MyCmd;吗?
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 



增加了函数
u8 *My_Cmd(u16 length)
{?
? if (length == 0)? ??
? ?return (u8*)6;?
? return My_Buffer;
}

CopyRoutine = My_Cmd;
结果BUS HOUND里显示stall pid,请问是怎么回事?
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 请说清楚一些,什么时候STALL PID?
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

9
 

在主机发送了a1 01 02 01 00 00 06 00之后,就STALL PID 04 00 00 C0,而且设备也没有回复数据给主机
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 估计你在Joystick_Data_Setup()函数中的处理不对。
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 

CopyRoutine = My_Cmd;不是将数据发送了吗?
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

12
 
10# 版主
CopyRoutine = My_Cmd;不是将数据发送了吗?
问题是你的程序恐怕根本没有执行到这里。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 

执行到了,我在这里放Joystick_send(),可以看到端点1有数据发送
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

1

TA的资源

一粒金砂(初级)

14
 

请问端点0发送过来的普通数据也是在这个函数中处理吗?
此帖出自stm32/stm8论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

15
 
12# 版主
执行到了,我在这里放Joystick_send(),可以看到端点1有数据发送
这里发送数据,是通过你自己的命令(a1 01 02 01 00 00 06 00)发送的吗?
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

16
 

嗯是的,现在已经能够返回数据了,那主机通过端点0给我发送普通数据也是通过这个方法处理吗?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

17
 
15# 版主
嗯是的,现在已经能够返回数据了,那主机通过端点0给我发送普通数据也是通过这个方法处理吗?
“现在已经能够返回数据了”是什么意思?为什么以前说不可以?

主机通过端点0发送普通数据的问题,请看我的博客里有说明。
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

18
 

以前函数写错了,所以有些问题。现在已经好了。

按照您博客中所写的,增加了处理函数,主机发送了SET REPORT之后,我也在Process_Status_IN函数里将数据读出了,为什么还是STALL PID呢?
此帖出自stm32/stm8论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

19
 
                                 你在xxxx_Data_Setup函数中处理了你要求的命令了吗?
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

20
 

嗯,在Data_Setup中增加了
if (pInformation->USBbmRequestType == CLASS_REQUEST|INTERFACE_RECIPIENT
            && RequestNo == SET_REPORT)
  {
        CopyRoutine = My_GetReport;
  }
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表