查看: 9914|回复: 36

[已解决] KL25z32 芯片 使用USB 枚举成自定义HID 的问题(已解决)

[复制链接]

该用户从未签到

4

主题

20

帖子

0

注册会员

Rank: 2

积分
76
最后登录
1970-1-1
发表于 2014-8-10 20:10:59 | 显示全部楼层 |阅读模式
本帖最后由 被USB搞得头大 于 2014-12-5 10:53 编辑

我目前在用KL25芯片做出一个自定义的HID设备。

要求:除了EP0外,还有EP1中断输出,EP2中断输入。枚举完成后,下位机从EP1接受数据,从EP2返回数据到上位机。
现在在一个官方USB例程上修改,《USB HID 鼠标例程》
因为之前在STM32上USB HID功能完全实现过(上位机软件也有),所以设备描述符,配置描述符,报告描述符,都复制过来使用。

现在的问题:官方例程,共有两个端口(EP0,EP1),现在我要多加一个端口(EP2),发现例程不好修改。
目前修改后的例程,用IAR调试时,看到EP1和EP2相应的寄存器都配置成功。
使用BUS Hound软件看,枚举过程到一半失败。电脑上看设备关闭,但可以看到三个端口也都配置了。

希望有做过KL25系列HID功能的前辈指点一下。
我知道答案 目前已有35人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
    发表于 2014-8-11 13:05:30 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    同求,网上这种资料很少,希望有经验的人分享一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    76
    最后登录
    1970-1-1
     楼主| 发表于 2014-8-13 00:09:54 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    没人回复,我自己顶一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-8-14 13:46:10 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
    发表于 2014-8-14 16:37:44 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改

    官方例程 HID.rar

    2.3 MB, 下载次数: 26, 下载积分: 威望 1

    MPM0.3 HID.rar

    2.32 MB, 下载次数: 16, 下载积分: 威望 1

    KL25Z32_ENUM.txt

    17.18 KB, 下载次数: 14, 下载积分: 威望 1

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-8-14 17:40:23 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 5 楼 于2014-08-14 16:37:44发表:
    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改
     
    好的,我先看看,再回复你。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    76
    最后登录
    1970-1-1
     楼主| 发表于 2014-8-14 19:46:32 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 6 楼 于2014-08-14 17:40:23发表:
    回复第 5 楼 于2014-08-14 16:37:44发表:
    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改
     
    好的,我先看看,再回复你。
     

     

    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-8-15 14:03:08 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 5 楼 于2014-08-14 16:37:44发表:
    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改
     
     
    你好,楼主!
    对你的设想目标来讲,只需要在usb_descriptor.c和usb_descriptor.h就可以啊,
    但你在一楼说的要三个端点:1个IN, 2个OUT,但是在usb_descriptor.c和usb_descriptor.h中,你并没有按照上述的要求修改端点描述符啊。
    在USB stack4.1.1中,有介绍如何在原例程的基础上,修改例程以满足自己要求的文档,你可以参考一下。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
    发表于 2014-8-15 14:36:52 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 8 楼 于2014-08-15 14:03:08发表:
    回复第 5 楼 于2014-08-14 16:37:44发表:
    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改
     
     
    你好,楼主!
    对你的设想目标来讲,只需要在usb_descriptor.c和usb_descriptor.h就可以啊,
    但你在一楼说的要三个端点:1个IN, 2个OUT,但是在usb_descriptor.c和usb_descriptor.h中,你并没有按照上述的要求修改端点描述符啊。
    在USB stack4.1.1中,有介绍如何在原例程的基础上,修改例程以满足自己要求的文档,你可以参考一下。
     

     

    您好!
    三个端点是:EP0(控制),EP1(接收),EP2(发送),共三个。     而不是“2个OUT”。
    您能说一下是哪一个文档吗!谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-8-15 16:07:10 | 显示全部楼层

    回复:KL25z32 芯片 使用USB 枚举成自定义HID 的问题

    回复第 9 楼 于2014-08-15 14:36:52发表:
    回复第 8 楼 于2014-08-15 14:03:08发表:
    回复第 5 楼 于2014-08-14 16:37:44发表:
    回复第 4 楼 于2014-08-14 13:46:10发表:
     你好,楼主!
    我需要向你求证一下,你所参考的鼠标HID例程是哪个?还有,能否介绍一下修改例程的过程?
     
     

    非常感谢,终于有人回复了!
    现在在一个官方USB例程上修改:freescal USB Stack v4.1.1 HID Mouse例程。
    我主要在例程usb_descriptor.c和usb_descriptor.h中做的修改,附件中有官方原版IAR工程,和我自己修改的工程(我修改的地方都加了注释)。还有一个附件是用bus Hound抓取的枚举数据。
    我觉得usb_descriptor.c文件设置好,端口初始化正确,就应该能正常枚举。
    现在我不知道问题是usb_descriptor.c里的设备描述不正确,还是工程里还有其他代码要修改
     
     
    你好,楼主!
    对你的设想目标来讲,只需要在usb_descriptor.c和usb_descriptor.h就可以啊,
    但你在一楼说的要三个端点:1个IN, 2个OUT,但是在usb_descriptor.c和usb_descriptor.h中,你并没有按照上述的要求修改端点描述符啊。
    在USB stack4.1.1中,有介绍如何在原例程的基础上,修改例程以满足自己要求的文档,你可以参考一下。
     

     

    您好!
    三个端点是:EP0(控制),EP1(接收),EP2(发送),共三个。     而不是“2个OUT”。
    您能说一下是哪一个文档吗!谢谢
     
    端点我看错啊,一般我都把EP0当成默认,所以你说有三个端点,我想当然认为需要配置三个端点,
    文档名称:Freescale USB Device Stack Users Guide.pdf
    请查看附件
    USBUG.part1.rar (4 MB, 下载次数: 17)
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 03:01 , Processed in 0.111303 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表