drv_dsp280x_gpio.c

来自「SVPWM算法的DSP源码已通过硬件验证」· C语言 代码 · 共 1,166 行 · 第 1/2 页

C
1,166
字号
	{
		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 + =
减小字号Ctrl + -
显示快捷键?