查看: 2793|回复: 8

[已解决] KSDK2.0开发KL27Z的HID KeyBoard

[复制链接]
  • TA的每日心情
    开心
    2016-12-16 09:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    14

    帖子

    0

    注册会员

    Rank: 2

    积分
    142
    最后登录
    2017-10-14
    发表于 2016-12-15 14:31:58 | 显示全部楼层 |阅读模式
    本帖最后由 Young小师 于 2016-12-15 14:38 编辑

    在KSDK里面,有Keyboard的例程,在此基础上对其进行开发,总体上来说,它的函数调用流程是:第一阶段的枚举USB设备,USB0_IRQHandler-》USB_DeviceCallback,枚举完成后,调用流程是,USB0_IRQHandler-》USB_DeviceHidKeyboardCallback-》USB_DeviceHidKeyboardAction,它会不断调用USB_DeviceHidKeyboardAction。
    我想问的问题是,在USB_DeviceHidKeyboardAction里面有一个USB_DeviceHidSend发送函数的调用,当我不需要发送,将其修改为return kStatus_USB_Success;,调试时会发现程序不会再进入USB IRQ中断函数USB0_IRQHandler,也就不会再调用USB_DeviceHidKeyboardAction了,那不是说明我需要不断发送某一个数据给Host主机么,显然这是不合理的,所以我希望得到社区的帮助,谢谢大家了。

    使用工程路径为:SDK_2.0_FRDM-KL27Z\boards\frdmkl27z\usb_examples\usb_device_composite_hid_mouse_hid_keyboard\bm

    最佳答案

    首先,这个demo是为了显示效果,在一段时间内发送一个有效的键值。由于这个demo比较简单(没有用timer或者按键什么的),同时为了简化demo,在不需要发送有效键值的时候就用数据0代替。 其实这个问题很好解决。当你 ...
    QQ截图20161215142621.png
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-12-15 14:38:40 | 显示全部楼层
    帮顶
    签到 签到
    回复

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20039
    最后登录
    2024-4-26
    发表于 2016-12-15 14:47:20 | 显示全部楼层
    楼主你好!
    关于这个问题,你之前发过一个类似的帖子。
    我这边按照你的方法也复现了问题。
    关于具体解决方案,我还在寻找中,有更新信息立刻就给你回复,所以还请耐心等待下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-12-15 14:53:40 | 显示全部楼层
    签到 签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-16 09:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    14

    帖子

    0

    注册会员

    Rank: 2

    积分
    142
    最后登录
    2017-10-14
     楼主| 发表于 2016-12-15 15:02:07 | 显示全部楼层
    小恩GG 发表于 2016-12-15 14:47
    楼主你好!
    关于这个问题,你之前发过一个类似的帖子。
    我这边按照你的方法也复现了问题。

    嗯嗯,好的,谢谢啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-16 09:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    14

    帖子

    0

    注册会员

    Rank: 2

    积分
    142
    最后登录
    2017-10-14
     楼主| 发表于 2017-2-5 09:57:57 | 显示全部楼层
    有没有人啊,自己顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    88

    帖子

    0

    注册会员

    Rank: 2

    积分
    157
    最后登录
    2019-8-26
    发表于 2017-5-25 17:59:29 | 显示全部楼层
    首先,这个demo是为了显示效果,在一段时间内发送一个有效的键值。由于这个demo比较简单(没有用timer或者按键什么的),同时为了简化demo,在不需要发送有效键值的时候就用数据0代替。

    其实这个问题很好解决。当你不需要发送的数据的时候,你需要用flag记录下,然后直接return成功。然后在task或者mian函数的while loop里面需要发送键值的时候检查flag是否设置,如果设置了就调用函数USB_DeviceHidSend发送你想要传输的键值数据。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    8028
    最后登录
    2022-5-12
    发表于 2017-5-27 10:40:15 | 显示全部楼层

    感谢分享
    好好
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    33
    最后登录
    2022-11-16
    发表于 2020-5-19 09:06:53 | 显示全部楼层
    小恩GG 发表于 2016-12-15 14:47
    楼主你好!
    关于这个问题,你之前发过一个类似的帖子。
    我这边按照你的方法也复现了问题。

    浏览了这个帖子,想看后续解决方法,貌似没有更新
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-27 20:35 , Processed in 0.161417 second(s), 33 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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