📄 2407user.h
字号:
tmp|=0x0004;
*PFDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPF3
case IOPF3:
{
tmp=*PFDATDIR;
tmp|=0x0800;
tmp|=0x0008;
*PFDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPF4
case IOPF4:
{
tmp=*PFDATDIR;
tmp|=0x1000;
tmp|=0x0010;
*PFDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPF5
case IOPF5:
{
tmp=*PFDATDIR;
tmp|=0x2000;
tmp|=0x0020;
*PFDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPF6
case IOPF6:
{
tmp=*PFDATDIR;
tmp|=0x4000;
tmp|=0x0040;
*PFDATDIR=tmp;
break;
}
#endif
}
}
int io_in(unsigned int portnamein)
{
int tmp;
switch(portnamein)
{
//IOPA
#ifdef _USEIOPA0
case IOPA0:
{
tmp=0xFEFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0001)
return IOPA0;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA1
case IOPA1:
{
tmp=0xFDFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0002)
return IOPA1;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA2
case IOPA2:
{
tmp=0xFBFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0004)
return IOPA2;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA3
case IOPA3:
{
tmp=0xF7FF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0008)
return IOPA3;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA4
case IOPA4:
{
tmp=0xEFFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0010)
return IOPA4;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA5
case IOPA5:
{
tmp=0xDFFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0020)
return IOPA5;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA6
case IOPA6:
{
tmp=0xBFFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0040)
return IOPA6;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPA7
case IOPA7:
{
tmp=0x7FFF;
*PADATDIR&=tmp;
tmp=*PADATDIR;
if(tmp&0x0080)
return IOPA7;
else
return IO_NONE;
}
#endif
//IOPB
#ifdef _USEIOPB0
case IOPB0:
{
tmp=0xFEFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0001)
return IOPB0;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB1
case IOPB1:
{
tmp=0xFDFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0002)
return IOPB1;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB2
case IOPB2:
{
tmp=0xFBFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0004)
return IOPB2;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB3
case IOPB3:
{
tmp=0xF7FF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0008)
return IOPB3;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB4
case IOPB4:
{
tmp=0xEFFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0010)
return IOPB4;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB5
case IOPB5:
{
tmp=0xDFFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0020)
return IOPA5;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB6
case IOPB6:
{
tmp=0xBFFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0040)
return IOPB6;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPB7
case IOPB7:
{
tmp=0x7FFF;
*PBDATDIR&=tmp;
tmp=*PBDATDIR;
if(tmp&0x0080)
return IOPB7;
else
return IO_NONE;
}
#endif
//IOPC
#ifdef _USEIOPC0
case IOPC0:
{
tmp=0xFEFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0001)
return IOPC0;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC1
case IOPC1:
{
tmp=0xFDFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0002)
return IOPC1;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC2
case IOPC2:
{
tmp=0xFBFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0004)
return IOPC2;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC3
case IOPC3:
{
tmp=0xF7FF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0008)
return IOPC3;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC4
case IOPC4:
{
tmp=0xEFFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0010)
return IOPC4;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC5
case IOPC5:
{
tmp=0xDFFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0020)
return IOPC5;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC6
case IOPC6:
{
tmp=0xBFFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0040)
return IOPC6;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPC7
case IOPC7:
{
tmp=0x7FFF;
*PCDATDIR&=tmp;
tmp=*PCDATDIR;
if(tmp&0x0080)
return IOPC7;
else
return IO_NONE;
}
#endif
//IOPD
#ifdef _USEIOPD0
case IOPD0:
{
tmp=0xFEFF;
*PDDATDIR&=tmp;
tmp=*PDDATDIR;
if(tmp&0x0001)
return IOPD0;
else
return IO_NONE;
}
#endif
//IOPE
#ifdef _USEIOPE0
case IOPE0:
{
tmp=0xFEFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0001)
return IOPE0;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE1
case IOPE1:
{
tmp=0xFDFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0002)
return IOPE1;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE2
case IOPE2:
{
tmp=0xFBFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0004)
return IOPE2;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE3
case IOPE3:
{
tmp=0xF7FF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0008)
return IOPE3;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE4
case IOPE4:
{
tmp=0xEFFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0010)
return IOPE4;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE5
case IOPE5:
{
tmp=0xDFFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0020)
return IOPE5;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE6
case IOPE6:
{
tmp=0xBFFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0040)
return IOPE6;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPE7
case IOPE7:
{
tmp=0x7FFF;
*PEDATDIR&=tmp;
tmp=*PEDATDIR;
if(tmp&0x0080)
return IOPE7;
else
return IO_NONE;
}
#endif
//IOPF
#ifdef _USEIOPF0
case IOPF0:
{
tmp=0xFEFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0001)
return IOPF0;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF1
case IOPF1:
{
tmp=0xFDFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0002)
return IOPF1;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF2
case IOPF2:
{
tmp=0xFBFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0004)
return IOPF2;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF3
case IOPF3:
{
tmp=0xF7FF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0008)
return IOPF3;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF4
case IOPF4:
{
tmp=0xEFFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0010)
return IOPF4;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF5
case IOPF5:
{
tmp=0xDFFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0020)
return IOPF5;
else
return IO_NONE;
}
#endif
#ifdef _USEIOPF6
case IOPF6:
{
tmp=0xBFFF;
*PFDATDIR&=tmp;
tmp=*PFDATDIR;
if(tmp&0x0040)
return IOPF6;
else
return IO_NONE;
}
#endif
}
}
void io_out0(unsigned int portnameout0)
{
unsigned int tmp;
switch(portnameout0)
{
//IOPA
#ifdef _USEIOPA
case IOPA0:
{
tmp=*PADATDIR;
tmp|=0x0100;
tmp&=0xFFFE;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA1
case IOPA1:
{
tmp=*PADATDIR;
tmp|=0x0200;
tmp&=0xFFFD;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA2
case IOPA2:
{
tmp=*PADATDIR;
tmp|=0x0400;
tmp&=0xFFFB;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA3
case IOPA3:
{
tmp=*PADATDIR;
tmp|=0x0800;
tmp&=0xFFF7;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA4
case IOPA4:
{
tmp=*PADATDIR;
tmp|=0x1000;
tmp&=0xFFEF;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA5
case IOPA5:
{
tmp=*PADATDIR;
tmp|=0x2000;
tmp&=0xFFDF;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA6
case IOPA6:
{
tmp=*PADATDIR;
tmp|=0x4000;
tmp&=0xFFBF;
*PADATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPA7
case IOPA7:
{
tmp=*PADATDIR;
tmp|=0x8000;
tmp&=0xFF7F;
*PADATDIR=tmp;
break;
}
#endif
//IOPB
#ifdef _USEIOPB0
case IOPB0:
{
tmp=*PBDATDIR;
tmp|=0x0100;
tmp&=0xFFFE;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB1
case IOPB1:
{
tmp=*PBDATDIR;
tmp|=0x0200;
tmp&=0xFFFD;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB2
case IOPB2:
{
tmp=*PBDATDIR;
tmp|=0x0400;
tmp&=0xFFFB;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB3
case IOPB3:
{
tmp=*PBDATDIR;
tmp|=0x0800;
tmp&=0xFFF7;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB4
case IOPB4:
{
tmp=*PBDATDIR;
tmp|=0x1000;
tmp&=0xFFEF;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB5
case IOPB5:
{
tmp=*PBDATDIR;
tmp|=0x2000;
tmp&=0xFFDF;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB6
case IOPB6:
{
tmp=*PBDATDIR;
tmp|=0x4000;
tmp&=0xFFBF;
*PBDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPB7
case IOPB7:
{
tmp=*PBDATDIR;
tmp|=0x8000;
tmp&=0xFF7F;
*PBDATDIR=tmp;
break;
}
#endif
//IOPC
#ifdef _USEIOPC0
case IOPC0:
{
tmp=*PCDATDIR;
tmp|=0x0100;
tmp&=0xFFFE;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC1
case IOPC1:
{
tmp=*PCDATDIR;
tmp|=0x0200;
tmp&=0xFFFD;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC2
case IOPC2:
{
tmp=*PCDATDIR;
tmp|=0x0400;
tmp&=0xFFFB;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC3
case IOPC3:
{
tmp=*PCDATDIR;
tmp|=0x0800;
tmp&=0xFFF7;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC4
case IOPC4:
{
tmp=*PCDATDIR;
tmp|=0x1000;
tmp&=0xFFEF;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC5
case IOPC5:
{
tmp=*PCDATDIR;
tmp|=0x2000;
tmp&=0xFFDF;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC6
case IOPC6:
{
tmp=*PCDATDIR;
tmp|=0x4000;
tmp&=0xFFBF;
*PCDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPC7
case IOPC7:
{
tmp=*PCDATDIR;
tmp|=0x8000;
tmp&=0xFF7F;
*PCDATDIR=tmp;
break;
}
#endif
//IOPD
#ifdef _USEIOPD0
case IOPD0:
{
tmp=*PDDATDIR;
tmp|=0x0100;
tmp&=0xFFFE;
*PDDATDIR=tmp;
break;
}
#endif
//IOPE
#ifdef _USEIOPE0
case IOPE0:
{
tmp=*PEDATDIR;
tmp|=0x0100;
tmp&=0xFFFE;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE1
case IOPE1:
{
tmp=*PEDATDIR;
tmp|=0x0200;
tmp&=0xFFFD;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE2
case IOPE2:
{
tmp=*PEDATDIR;
tmp|=0x0400;
tmp&=0xFFFB;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE3
case IOPE3:
{
tmp=*PEDATDIR;
tmp|=0x0800;
tmp&=0xFFF7;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE4
case IOPE4:
{
tmp=*PEDATDIR;
tmp|=0x1000;
tmp&=0xFFEF;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE5
case IOPE5:
{
tmp=*PEDATDIR;
tmp|=0x2000;
tmp&=0xFFDF;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE6
case IOPE6:
{
tmp=*PEDATDIR;
tmp|=0x4000;
tmp&=0xFFBF;
*PEDATDIR=tmp;
break;
}
#endif
#ifdef _USEIOPE7
case IOPE7:
{
tmp=*PEDATDIR;
tmp|=0x8000;
tmp&=0xFF7F;
*PEDATDIR=tmp;
break;
}
#endif
//IOPF
#ifdef _USEIOPF0
case IOPF0:
{
tmp=*PFDATDIR;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -