⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbisr.c

📁 网上收集的利用nios软核
💻 C
字号:
#include "usbISR.h"#include "uart.h"usbEp0OutHandler(usbEnuFsm * usbEnuStatus){	//raiseLevel();	usb_1362_LockDevice(0xaa37);	int i;	int bufLength;	uartPrintf("in the ep0 out handler\n");	printf("in the ep0 out handler\n");/*1. read host request*/	bufLength = usb_1362_device_epx_read(0, usbEnuStatus->rxBuf);	if(usbEnuStatus->ep0Status & 0x04){	usb_1362_device_0_write(ISP_1363_Acknowledge_Set_Up);//ack the set-up packet	usb_1362_device_0_write(ISP_1362_EP0_OUT_Clear_Buffer_reg);//clear buffer	//usbEnuStatus->ep0Status = usb_1362_device_16_read(ISP_1362_DcEndpointStatus_EP0_OUT_Read_reg);			}/*2. check the request*/	usbEnuStatus->usbRequest = analyseUsbRequest((char*)(usbEnuStatus->rxBuf));	uartPrintf("[uart]usb request:%d\n",usbEnuStatus->usbRequest);	printf("[uart]usb request:%d\n",usbEnuStatus->usbRequest);	printf("ep0 status:%x\n",usbEnuStatus->ep0Status);/*3. Do the request*/	if(!(usbEnuStatus->ep0Status & 0x60)){		printf("EP0: buffer not full. exit....\n");		usb_1362_epx_transmit(0,NULL,0);		//usb_1362_device_0_write(ISP_1362_EP0_OUT_Clear_Buffer_reg);//clear buffer		return;		}	else if((usbEnuStatus->ep0Status & 0x04)){		if(usbEnuStatus->usbRequest == -1){			usb_1362_ep0_stall();			printf("EP0 Stall!\n");			return;			}                          		doUsbStandardRequest(usbEnuStatus);		}	else{				printf("EP0:Do nothing\n");		}					}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -