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

📄 drv_dsp280x_gpio.c

📁 SVPWM算法的DSP源码已通过硬件验证
💻 C
📖 第 1 页 / 共 2 页
字号:
	{
		GpioDataRegs.GPADAT.bit.GPIO16 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO16 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO16 = DIR_Gpio;

    EDIS;
}

void Gpio17_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO17 = Output_Data;
	}
	
	GpioCtrlRegs.GPAPUD.bit.GPIO17 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO17 = DIR_Gpio;

    EDIS;
}

void Gpio18_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO18 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO18 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO18 = DIR_Gpio;

    EDIS;
}

void Gpio19_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO19 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO19 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO19 = DIR_Gpio;

    EDIS;
}

void Gpio20_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO20 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO20 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO20 = DIR_Gpio;

    EDIS;
}

void Gpio21_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO21 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO21 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO21 = DIR_Gpio;

    EDIS;
}

void Gpio22_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO22 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO22 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO22 = DIR_Gpio;

    EDIS;
}

void Gpio23_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO23 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO23 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO23 = DIR_Gpio;

    EDIS;
}

void Gpio24_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO24 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO24 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO24 = DIR_Gpio;

    EDIS;
}

void Gpio25_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO25 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO25 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO25 = DIR_Gpio;

    EDIS;
}

void Gpio26_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO26 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO26 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO26 = DIR_Gpio;

    EDIS;
}

void Gpio27_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO27 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO27 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO27 = DIR_Gpio;

    EDIS;
}

void Gpio28_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO28 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO28 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO28 = DIR_Gpio;

    EDIS;
}

void Gpio29_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO29 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO29 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO29 = DIR_Gpio;

    EDIS;
}

void Gpio30_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO30 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO30 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO30 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO30 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO30 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO30 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO30 = DIR_Gpio;

    EDIS;
}

void Gpio31_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 3;
    			break;
    		default:break;
    	}
    }
    else		//设定为输出端口
	{
		GpioDataRegs.GPADAT.bit.GPIO31 = Output_Data;
	}

	GpioCtrlRegs.GPAPUD.bit.GPIO31 = PUD_Gpio;
	GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0;
	GpioCtrlRegs.GPADIR.bit.GPIO31 = DIR_Gpio;

    EDIS;
}

void Gpio32_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;

	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3;
    			break;
    		default:break;
    	}
    }
    else
    {
    	GpioDataRegs.GPBDAT.bit.GPIO32 = Output_Data;
	}

	GpioCtrlRegs.GPBPUD.bit.GPIO32 = PUD_Gpio;
	GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0;
	GpioCtrlRegs.GPBDIR.bit.GPIO32 = DIR_Gpio;

    EDIS;
}

void Gpio33_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3;
    			break;
    		default:break;
    	}
    }
    else
    {
    	GpioDataRegs.GPBDAT.bit.GPIO33 = Output_Data;
	}

	GpioCtrlRegs.GPBPUD.bit.GPIO33 = PUD_Gpio;
	GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 0;
	GpioCtrlRegs.GPBDIR.bit.GPIO33 = DIR_Gpio;

    EDIS;
}

void Gpio34_setup(char PUD_Gpio,char DIR_Gpio,char SELECT_Input,char Output_Data)
{
	EALLOW;
	
	if( !DIR_Gpio )
    {
   		switch( SELECT_Input )
   		{
   			case 0: GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 0;
   				break;
   			case 1: GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 1;
   				break;
    		case 2: GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 2;
    			break;
    		case 3: GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 3;
    			break;
    		default:break;
    	}
    }
    else
    {
    	GpioDataRegs.GPBDAT.bit.GPIO34 = Output_Data;
	}

	GpioCtrlRegs.GPBPUD.bit.GPIO34 = PUD_Gpio;
	GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;
	GpioCtrlRegs.GPBDIR.bit.GPIO34 = DIR_Gpio;

    EDIS;
}














⌨️ 快捷键说明

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