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

📄 2407user.h

📁 前段时间做的DSP开发项目
💻 H
📖 第 1 页 / 共 3 页
字号:
			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 + -