Description
Source
Call Graph
Start Line: 955
void USBD_Halt(unsigned char bEndpoint)
{
Endpoint *pEndpoint = &(endpoints[bEndpoint]);
// Check that endpoint is enabled and not already in Halt state
if ((pEndpoint->state != UDP_ENDPOINT_DISABLED)
&& (pEndpoint->state != UDP_ENDPOINT_HALTED)) {
TRACE_DEBUG_WP("Halt%d ", bEndpoint);
// Abort the current transfer if necessary
UDP_EndOfTransfer(bEndpoint, USBD_STATUS_ABORTED);
// Put endpoint into Halt state
SET_CSR(bEndpoint, AT91C_UDP_FORCESTALL);
pEndpoint->state = UDP_ENDPOINT_HALTED;
// Enable the endpoint interrupt
AT91C_BASE_UDP->UDP_IER = 1 << bEndpoint;
}
}