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

📄 usblib.c

📁 RDC R2886 USB Ehci ohc测试源码,paradigm c++上运行测试
💻 C
字号:
// USB Host Controller test pattern Library file
// 05/20/2003    Jeff

#include <systypes.h>					/* Paradigm C++ standard types */
#include <stdio.h>
#include <dos.h>
#include <alloc.h>
#include <embedded.h>
#include <string.h>
#include <conio.h>
#include "..\Include\USBHost.h"

/* +++++++++++++++++++++ Global Variable +++++++++++++++++++++++++ */


unsigned int UpperAddr (void far *p)
{
  unsigned int i=0,j=0;
  unsigned long int k=0;

  i=FP_SEG(p);
  j=FP_OFF(p);
  k=i;
  k<<=8;
  k=k+j;
  k>>=16;
  return((unsigned int)k);
}

unsigned int LowerAddr (void far *p)
{
  unsigned int i=0,j=0;
  unsigned long int k=0;

  i=FP_SEG(p);
  j=FP_OFF(p);
  k=i;
  k<<=8;
  k=k+j;
  return((unsigned int)k);
}

void DWordWrite(void far *p, u32 data)
{
	u16 temp;

   asm{pushf};
   asm{cli};
	temp = LowerAddr(p);
	outport(PCI_DWAAL_REG, temp);
	temp = (UpperAddr(p)|0x8000);
	outport(PCI_DWAAH_REG, temp);

	temp = (u16)(data & 0xFFFF);
	outport(PCI_DWADL_RQG, temp);
	temp = (u16)((data >> 16) & 0xFFFF);
	outport(PCI_DWADH_RQG, temp);
   asm{popf}
}

void DWordWriteHL(void far *p, u16 dataH, u16 dataL)
{
	u16 temp;

   asm{pushf};
   asm{cli};
	temp = LowerAddr(p);
	outport(PCI_DWAAL_REG, temp);
	temp = (UpperAddr(p)|0x8000);
	outport(PCI_DWAAH_REG, temp);

	outport(PCI_DWADL_RQG, dataL);
	outport(PCI_DWADH_RQG, dataH);
   asm{popf}
}

u32 DWordRead(void far *p)
{
	u16 temp;
	u32 temp32;

   asm{pushf};
   asm{cli};
	temp = LowerAddr(p);
	outport(PCI_DWAAL_REG, temp);
	temp = (UpperAddr(p)|0x8000);
	outport(PCI_DWAAH_REG, temp);

	temp = inport(PCI_DWADL_RQG);
	temp32 = inport(PCI_DWADH_RQG);
	temp32 = (temp32 << 16) | temp;
   asm{popf}

	return temp32;
}

void mdelay(u16 ms)
{
	int i;

	outport(0xFF52, 0x30D4);	//Set delay value
	for(i=0;i<ms;i++)
	{
		//1 ms delay
		outport(0xFF50, 0);		//Clear counter
		outport(0xFF56, 0xC000);	//enable Timer 0

		do{} while((inport(0xFF56) & 0x0020) == 0);
	}
}

⌨️ 快捷键说明

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