typedef struct{
u16 Amplitude;//给定
u16 pulse;
u16 run;
u16 Angle;//正弦控制时为32位,模拟时为16位
u16 PhaseInc;//步进量
u8 Current_Direction;//电机运行方向
}SVPWMTYPE;
SVPWMTYPE SVPWM;
void SVPWM_OUT(void)//PWM载频中断
{
SVPWM.Angle +=SVPWM.PhaseInc;
//SVPWM.Amplitude 电压幅值
//以下是发波程序
}
//霍尔是按装在120度
void Hall_interrupt(void)//霍尔中断
{
u8 hall;
hall = P1_DATA&7;//霍尔
}
//如何根据霍尔计算电角度? |