diff options
Diffstat (limited to 'Demos/MouseViaInt/MouseViaInt.c')
-rw-r--r-- | Demos/MouseViaInt/MouseViaInt.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Demos/MouseViaInt/MouseViaInt.c b/Demos/MouseViaInt/MouseViaInt.c index 445fb4994..465459a36 100644 --- a/Demos/MouseViaInt/MouseViaInt.c +++ b/Demos/MouseViaInt/MouseViaInt.c @@ -198,6 +198,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket) /* Send the flag to the host */
Endpoint_ClearSetupIN();
+
+ /* Acknowledge status stage */
+ while (!(Endpoint_IsSetupOUTReceived()));
+ Endpoint_ClearSetupOUT();
}
break;
@@ -212,7 +216,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket) /* Set or clear the flag depending on what the host indicates that the current Protocol should be */
UsingReportProtocol = (wValue != 0x0000);
- /* Send an empty packet to acknowedge the command */
+ /* Acknowledge status stage */
+ while (!(Endpoint_IsSetupINReady()));
Endpoint_ClearSetupIN();
}
@@ -228,7 +233,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket) /* Get idle period in MSB */
IdleCount = (wValue >> 8);
- /* Send an empty packet to acknowedge the command */
+ /* Acknowledge status stage */
+ while (!(Endpoint_IsSetupINReady()));
Endpoint_ClearSetupIN();
}
@@ -243,6 +249,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket) /* Send the flag to the host */
Endpoint_ClearSetupIN();
+
+ /* Acknowledge status stage */
+ while (!(Endpoint_IsSetupOUTReceived()));
+ Endpoint_ClearSetupOUT();
}
break;
|