📄 d12ci.i
字号:
#line 1 "d12ci.c"
#line 1 "C:/icc/include/macros.h"
#line 35 "C:/icc/include/macros.h"
void _StackCheck(void);
void _StackOverflowed(char);
#line 2 "d12ci.c"
extern EPPFLAGS bEPPflags;
void outportCommand(unsigned char Data);
void outportData(unsigned char Data);
unsigned char inportData(void);
#line 14 "d12ci.c"
#line 25 "d12ci.c"
void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
{
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0xD0);
if (bEnable)
{
bAddress |= 0x80;
outportData(bAddress);
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
}
}
#line 60 "d12ci.c"
void D12_SetEndpointEnable(unsigned char bEnable)
{
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0xD8);
if (bEnable)
{
outportData(1);
}
else
{
outportData(0);
}
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
}
#line 97 "d12ci.c"
void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
{
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0xF3);
outportData(bConfig);
outportData(bClkDiv);
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
}
#line 139 "d12ci.c"
#line 151 "d12ci.c"
unsigned short D12_ReadInterruptRegister(void)
{
unsigned char b1;
unsigned int j;
outportCommand(0xF4);
b1 = inportData();
j = inportData();
j = (unsigned char)j << 8;
j += b1;
return j;
}
#line 178 "d12ci.c"
unsigned char D12_SelectEndpoint(unsigned char bEndp)
{
unsigned char c;
if(bEPPflags.bits.in_isr==0)
{
asm("cli");
}
outportCommand(bEndp);
c = inportData();
if(bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
return c;
}
#line 212 "d12ci.c"
unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp)
{
outportCommand(0x40 + bEndp);
return inportData();
}
#line 229 "d12ci.c"
unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
{
unsigned char c;
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0x80 + bEndp);
c = inportData();
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
return c;
}
#line 262 "d12ci.c"
void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
{
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0x40+bEndp);
outportData(bStalled);
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
}
#line 291 "d12ci.c"
void D12_SendResume(void)
{
outportCommand(0xF6);
}
#line 306 "d12ci.c"
unsigned short D12_ReadCurrentFrameNumber(void)
{
unsigned short i = 0, j = 0;
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0xF5);
i = inportData();
j = inportData();
i += (j << 8);
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
return i;
}
#line 342 "d12ci.c"
unsigned short D12_ReadChipID(void)
{
unsigned short i,j;
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(0xFD);
i=inportData();
j=inportData();
i += (j << 8);
if (bEPPflags.bits.in_isr==0)
{
asm("sei");
}
return i;
}
#line 379 "d12ci.c"
unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char *buf)
{
unsigned char i, j;
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(endp);
if ((inportData() & D12_FULLEMPTY) == 0)
{
return 0;
}
outportCommand(0x80 + endp);
i = inportData();
i = i & 0x60;
if (endp == 2)
{
if (i == 0x60)
{
bEPPflags.bits.ep1buf_full=1;
}
else
{
bEPPflags.bits.ep1buf_full=0;
}
}
if (endp == 4)
{
if (i == 0x60)
{
bEPPflags.bits.ep2buf_full = 1;
}
else
{
bEPPflags.bits.ep2buf_full = 0;
}
}
outportCommand(0xF0);
j = inportData();
j = inportData();
if (j > len)
{
j = len;
}
for (i = 0;i < j;i++)
{
*(buf + i) = inportData();
}
outportCommand(0xF2);
if (bEPPflags.bits.in_isr == 0)
{
asm("sei");
}
return j;
}
#line 462 "d12ci.c"
unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char *buf)
{
unsigned char i;
if (bEPPflags.bits.in_isr == 0)
{
asm("cli");
}
outportCommand(endp);
inportData();
outportCommand(0xF0);
outportData(0);
outportData(len);
for (i = 0; i < len; i++)
{
outportData(* (buf + i));
}
outportCommand(0xFA);
if(bEPPflags.bits.in_isr==0)
{
asm("sei");
}
return len;
}
#line 509 "d12ci.c"
void D12_AcknowledgeEndpoint(unsigned char endp)
{
outportCommand(endp);
outportCommand(0xF1);
if (endp == 0)
{
outportCommand(0xF2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -