当前位置:   article > 正文

GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理

GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理

这个问题找了两三天,开始并不认为是示例程序的问题,只是感觉是自己代码问题。

这个解决流程大概是: 先调好矩阵键盘=> 调用发送函数。

就是因为调用时,一直发送数据,我也在按键抬起做了操作,始终不行。

最后,发现时示例代码中有个 空闲中断 引起的。

	udev->regs.dr->DIEPFEINTEN |= 1U << ep_num;

这个空闲中断好像是只要引脚是高电平,始终会发送数据。

于是,我就把这个代码做了调整。

  1. usb_status usb_transc_inxfer1 (usb_core_driver *udev, usb_transc *transc)
  2. {
  3. usb_status status = USB_OK;
  4. uint8_t ep_num = transc->ep_addr.num;
  5. __IO uint32_t epctl = udev->regs.er_in[ep_num]->DIEPCTL;
  6. __IO uint32_t eplen = udev->regs.er_in[ep_num]->DIEPLEN;
  7. eplen &= ~(DEPLEN_TLEN | DEPLEN_PCNT);
  8. /* zero length packet or endpoint 0 */
  9. if (0U == transc->xfer_len) {
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/434607
推荐阅读
相关标签
  

闽ICP备14008679号