Всем привет.
При разборе возник один вопросик в данной части кода (tn_user.c - tn_usb_int_func):
Код
...
if(rUSBDevIntSt & EP_SLOW) //-- Endpoints
{
ep_int_status = rUSBEpIntSt;
//-- EP0 - Control
if(ep_int_status & 1)
tn_usb_EP0_rx_int_func(&gUSBInfo); //-- OUT
else if(ep_int_status & (1<<1))
tn_usb_EP0_tx_int_func(&gUSBInfo); //-- IN
//-- EP2 - Bulk
if(ep_int_status & (1<<EP2_RX))
tn_usb_ep_rx_int(&gEP2RX_EI); //-- OUT
if(ep_int_status & (1<<EP2_TX))
tn_usb_ep_tx_int(&gEP2TX_EI); //-- IN
//-- EP5 - Bulk
if(ep_int_status & (1<<EP5_RX))
tn_usb_ep_rx_int(&gEP5RX_EI); //-- OUT
if(ep_int_status & (1<<EP5_TX))
tn_usb_ep_tx_int(&gEP5TX_EI); //-- IN
rUSBDevIntClr = EP_SLOW; // clear EP_SLOW
}
...
А какой смысл запихивать вот это
Код
if(ep_int_status & (1<<EP2_TX))
tn_usb_ep_tx_int(&gEP2TX_EI);
и это
Код
if(ep_int_status & (1<<EP5_TX))
tn_usb_ep_tx_int(&gEP5TX_EI);
в этот обработчик прерываний?