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

📄 extern.h

📁 utisoftware c code for linux,机卡分离方案。
💻 H
字号:
#ifndef  __GLOBAL_C__

#define USB_INTERRUPT      (24)
#define USB_INT_LEVEL       16 

/******* global valiable ***************************************************/
extern U8 	P1_Buff[];
extern U8	P2_Buff[];
extern U8	P3_Buff[];
extern U8	P4_Buff[];
extern U8	P5_Buff[];
extern U8	P6_Buff[];
extern U8	P7_Buff[];

extern U16	DCPtbl[];
extern U16	EPtbl_Full[];
extern U16	EPtbl_Hi[];

extern U16	BchgFlg;
extern U8	ConfigNum;								/* configuration Number */
#if PCUT_MODE == PCUT_USE
extern U16	PcutMode;								/* PCUT Mode Flag */
#endif
extern U32	dtcnt[];								/* PIPEn Buffer counter */
extern U8	*dtptr[];								/* PIPEn Buffer pointer(8bit) */
extern U8	PipeTbl[];
extern U8	Buffer_Read_Data_Flag[];
extern U8	Buffer_Write_Data_Flag[];
extern U16	Buffer_Read_Data_Size[];

extern U16	UsbAddress;
extern U16	UsbMaxPacketSize;
extern U8	UsbDeviceDesc[];
extern U8	UsbDeviceVer[] ;
extern U8	UsbConfigDesc[];
extern U8	UsbTmp[];
#endif

/******* global function *********************************************/
extern void	CPUInit(void);
extern void	PeripheralInit(void);
extern void	enableINT(void);
extern void	delay_1ms(void);
extern void	delay_10us(U16 time);
extern void   User_Application(void);
extern U16	Create_Data(U16 Pipe);
extern U16	Read_Data(U16 Pipe, U16 Bsize, U8 *Table);

extern void	PipeTblClear(void);

//extern void	usbint(int irq, void * meaningless, struct pt_regs*nonenone);
extern void	INTR_int(U16 Status, U16 Int_enbl);
extern void	INTN_int(U16 Status, U16 Int_enbl);
extern void	BEMP_int(U16 Status, U16 Int_enbl);

extern void	usb_enumerate(void);
extern void	initAssp(void);
extern void	usb_attach(void);
extern void	usb_detach(void);
extern U16	usb_busreset(void);
extern void	usb_remotewakeup(void);
extern void	usb_resume(void);
extern void	usb_suspend(void);

extern U16	ChkAttach(void);
extern U16	isHiSpeed(void);
extern void	resetDCP(void);
extern U16	isDisconnect(void);

extern void	waitAssp(void);
extern void	enableINT_Assp(void);					/* Interrupt Enable */
extern void	resetEP(U8 Con_Num);					/* set PIPEn Configuration register */
extern void	EnableIntR(U16 Pipe);					/* IntR Enable */
extern void    ClearIntR(U16 Pipe);
extern void	DisableIntR(U16 Pipe);					/* IntR Disable */
extern void	EnableIntNR(U16 Pipe);					/* IntNR Enable */
extern void    ClearIntNR(U16 Pipe);
extern void	DisableIntNR(U16 Pipe);					/* IntNR Disable */
extern void	SetEpPid(U16 Pipe, U16 Pid);

extern U16	dataInSize(U16 Pipe);
extern U16	getMaxPacketSize(U16 Pipe);
extern U16	dcpMaxPacketSize(void);
extern void	resetAssp(void);

extern void	MemClear(void);							/* memory data clear */
extern U8	RprtSTS(U8 Sta1, U16 Sta2);				/* report status */
extern void	MemTblClear(void);

extern void	CR_Start(U32 Bsize, U8 *Table);			/* start Control Read */
extern void	Control_Read(void);						/* continue */
extern void	CW_Start(U32 Bsize, U8 *Table);			/* start Control Write */
extern void	Control_Write(void);					/* continue */

extern void	DI_Start(U16 Pipe, U32 Bsize, U8 *Tbl);	/* start Data IN */
extern void	Data_In(U16 Pipe);						/* continue */
extern void	DO_Start(U16 Pipe, U32 Bsize, U8 *Tbl);	/* start Data OUT */
extern void	Data_Out(U16 Pipe);						/* continue */
extern void	DMA_Out(U16 Pipe);						/* continue */
extern void	DMA_In(U16 Pipe);						/* continue */
extern void	DMA_RW(U16 Pipe);
extern void	User_Data_In(U16 Pipe, U32 Size, U8 *Tbl);
extern void	User_Data_Out(U16 Pipe, U32 Size, U8 *Tbl);

#if PCUT_MODE == PCUT_USE
extern void	reg_backup(void);
extern void	reg_recover(void);
#endif

extern void	startClock(void);
extern void	restartClock(void);
extern void	stopClock(void);

#if ATCKM_MODE == ATCKM_USE
extern void	waitClockReady(void);
#endif

extern U16	ControlNoWrite(U16 Req, U16 Val, U16 Indx, U16 Len);
extern U16	ControlRead   (U16 Req, U16 Val, U16 Indx, U16 Len, U8 *Buf);
extern U16	ControlWrite  (U16 Req, U16 Val, U16 Indx, U16 Len, U8 *Buf);
extern void	delay_xms(U16 num);
extern U16	SetupStage(U16 Req, U16 Val, U16 Indx, U16 Len);
extern U16	StatusStage(U16 Mode);

#ifdef UART_USE
#include  "uart.h"
#endif

⌨️ 快捷键说明

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