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

📄 pwm.c

📁 为BLDC的电流环控制
💻 C
字号:

/*
***********************************************************************
* For test BLDC
* 2008-1-7
***********************************************************************
*/

//=============================================//
#include	"Spmc75f2313a.h"
#include	"Spmc_typedef.h"
#include "unSPMACRO.h"


void BLDC_Test4_PU120FullPWM(unsigned int position)
{
	switch(position&0x07)
	{
		case(1):	//V1,V2
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_PWM | CW_TMR4_UOC_Mode2 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode0 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode1;
			break;
					
		case(3):	//V2,V3
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode0 |\
								   CW_TMR4_VPWM_Out_PWM | CW_TMR4_VOC_Mode2 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode1;
			break;
				
		case(2):	//V3,V4
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode1 |\
								   CW_TMR4_VPWM_Out_PWM | CW_TMR4_VOC_Mode2 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode0;
			break;
				
		case(6):	//V4,V5
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode1 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode0 |\
								   CW_TMR4_WPWM_Out_PWM | CW_TMR4_WOC_Mode2;
								  
			break;
			
		case(4):	//V5,V6
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode0 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode1 |\
								   CW_TMR4_WPWM_Out_PWM | CW_TMR4_WOC_Mode2;
								 
			break;
					
		case(5):	//V6,V1
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_PWM | CW_TMR4_UOC_Mode2 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode1 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode0;
			break;

		default:
			NOP();
			break;
	}
}

void BLDC_Test4_NU120FullPWM(unsigned int position)
{
	switch(position&0x07)
	{
		case(6):	//V1,V2
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_PWM | CW_TMR4_UOC_Mode2 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode0 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode1;
			break;
					
		case(4):	//V2,V3
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode0 |\
								   CW_TMR4_VPWM_Out_PWM | CW_TMR4_VOC_Mode2 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode1;
			break;
				
		case(5):	//V3,V4
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode1 |\
								   CW_TMR4_VPWM_Out_PWM | CW_TMR4_VOC_Mode2 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode0;
			break;
				
		case(1):	//V4,V5
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode1 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode0 |\
								   CW_TMR4_WPWM_Out_PWM | CW_TMR4_WOC_Mode2;
			break;
			
		case(3):	//V5,V6
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_HL  | CW_TMR4_UOC_Mode0 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode1 |\
								   CW_TMR4_WPWM_Out_PWM | CW_TMR4_WOC_Mode2;
			break;
					
		case(2):	//V6,V1
			P_TMR4_OutputCtrl->W = CW_TMR4_POLP_Active_High	|	\
								   CW_TMR4_UPWM_Out_PWM | CW_TMR4_UOC_Mode2 |\
								   CW_TMR4_VPWM_Out_HL  | CW_TMR4_VOC_Mode1 |\
								   CW_TMR4_WPWM_Out_HL  | CW_TMR4_WOC_Mode0;
			break;

		default:
			NOP();
			break;
	}
}
//=============================================//
//	*END*
//=============================================//

⌨️ 快捷键说明

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