?? usblib.bak
字號:
// 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}; // 12/09/2003 Sten, for data consistent
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}; // 12/09/2003 Sten, for data consistent
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}; // 12/09/2003 Sten, for data consistent
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, 0x12c9); //Set delay value 150MHz
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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -