Exemplo n.º 1
0
//USB接收报告
u8 USB_HID_RecReport(u8* buf)
{
	u8 *pu8EPBuffer;
	u8 temp;
	u8 len = 0;
	len = USB_EP_OUT_SizeCheck(EP3);
	temp = len;
	if(len)
	{
		pu8EPBuffer = BufferPointer[bEP3OUT_ODD];
		while(len--) *buf++=*pu8EPBuffer++;
	}
	len = temp;
	return len;
}
Exemplo n.º 2
0
void usb_service(void)
{
    // If data transfer arrives
    if(FLAG_CHK(EP_OUT,gu8USB_Flags))
    {
        (void)USB_EP_OUT_SizeCheck(EP_OUT);
        usbEP_Reset(EP_OUT);
        usbSIE_CONTROL(EP_OUT);
        FLAG_CLR(EP_OUT,gu8USB_Flags);

        // Send it back to the PC
        EP_IN_Transfer(EP2,CDC_OUTPointer,1);
    }
    if (!ti_print)
    {
        ti_print = 300;
        sprintf((char *)gu8USB_Buffer,"\rtsi %%= %03i ", AbsolutePercentegePosition);
        EP_IN_Transfer(EP2,gu8USB_Buffer,15);
    }
}