How to enable EndPoint 01 interrupts using ASF

1 post / 0 new
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


I'm starting using ASF and I'm having a hard time, I already spent a lot of time in this issue and I really appreciate any help.

I'm startig with the ASF HID Keyboard example for ATSAMD11 in the demo board SAMD11 Xplained pro.

This example was built implementing EndPoint 0x81(IN) for report keystrokes and EndPoint 0x01(OUt) for the LEDs control(Caps, Num and Scrl).

I Know from debugging that a OUT transaction to port 0x01 is being made after every Caps/Num/Scrl changing of state (I'm using other keyboard to change any LED state and Windows try to syncronise every keyboard connected)

I placed a gpio_toggle_pin_level(LED0) in the _usb_d_dev_handler function  so I can see every interrupt can is being treated.

In the "ASF4 API Reference Manual" in the page "Mandatory Driver Functionality" is is written that once you register a call back the interrupt is enabled in the module and is ready for use.

I'm using "usb_d_ep_register_callback" to register the call back, but the interrupt is not happening.

I went up and down the source code and colected a lot of information but I could not figured out what should I do.