24小时热门版块排行榜    

CyRhmU.jpeg
查看: 751  |  回复: 2

安仙儿

新虫 (小有名气)

[求助] VS2013中SVPWM程序求助

我采用VS2013的C语言写了一个程序,但运行时总说有问题,程序如下,加粗的地方为出现问题的地方,请求各位大神帮助
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SVPWMDll
{
    public class svpwm
    {
        void SVPWM_CalcDutyCycles(alfa,beta)
{
  float T_vector_SQRT3;        T_vector_SQRT3=1.73F;
  int T_vector;        T_vector=4400;
  int SECTOR_1,        SECTOR_2, SECTOR_3, SECTOR_4, SECTOR_5, SECTOR_6;
  SECTOR_1=1; SECTOR_2=2; SECTOR_3=3; SECTOR_4=4; SECTOR_5=5; SECTOR_6=6;
  int bSector;
  bSector=0;
  int wX, wY, wZ, wUAlpha, wUBeta;
  wX=0;
  wY=0;
  wZ=0;
  wUAlpha=0;
  wUBeta=0;
  int hTimePhA, hTimePhB, hTimePhC;
  hTimePhA=0;
  hTimePhB=0;
  hTimePhC=0;
  int T_divisor;
  T_divisor = 131072;
  wUAlpha=alfa*T_vector_SQRT3;
  wUAlpha=alfa*T_vector_SQRT3;
  
  wX=wUBeta;
  wY=(wUBeta+wUAlpha)/2;
  wZ=(wUBeta-wUAlpha)/2;
  
  // Sector calculation from wX, wY, wZ
  if (wY<0)
  {
    if (wZ<0)
    {
      bSector = SECTOR_5;
    }
    else        // wZ >= 0
      if (wX<=0)
      {
        bSector = SECTOR_4;
      }
      else      // wX > 0
      {
        bSector = SECTOR_3;
      }
  }
  else          // wY > 0
  {
    if (wZ>=0)
    {
      bSector = SECTOR_2;
    }
    else        // wZ < 0
      if (wX<=0)
      {  
        bSector = SECTOR_6;
      }
      else      // wX > 0
      {
        bSector = SECTOR_1;
      }
  }
  switch(bSector)
  {  
  case 1:
    hTimePhA = (T_vector/8) + ((((T_vector + wX) - wZ)/2)/T_divisor);
    hTimePhB = hTimePhA + wZ/T_divisor;
    hTimePhC = hTimePhB - wX/T_divisor;
   
  case 2:
    hTimePhA = (T_vector/8) + ((((T_vector + wY) - wZ)/2)/T_divisor);
    hTimePhB = hTimePhA + wZ/T_divisor;
    hTimePhC = hTimePhA - wY/T_divisor;
   
  case 3:
    hTimePhA = (T_vector/8) + ((((T_vector - wX) + wY)/2)/T_divisor);
    hTimePhC = hTimePhA - wY/T_divisor;
    hTimePhB = hTimePhC + wX/T_divisor;
   
  case 4:
    hTimePhA = (T_vector/8) + ((((T_vector+ wX) - wZ)/2)/T_divisor);
    hTimePhB = hTimePhA + wZ/T_divisor;
    hTimePhC = hTimePhB - wX/T_divisor;
   
  case 5:
    hTimePhA = (T_vector/8) + ((((T_vector + wY) - wZ)/2)/T_divisor);
    hTimePhB = hTimePhA + wZ/T_divisor;
    hTimePhC = hTimePhA - wY/T_divisor;
   
  case 6:
    hTimePhA = (T_vector/8) + ((((T_vector - wX) + wY)/2)/T_divisor);
    hTimePhC = hTimePhA - wY/T_divisor;
    hTimePhB = hTimePhC + wX/T_divisor;
    break;
   
  default:
    break;
  }

}
    }
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzh314

木虫 (文坛精英)


jjdg: 金币+1, 感谢参与 2018-02-08 11:19:39
错误也贴出来

发自小木虫Android客户端
博观约取,厚积薄发
2楼2018-02-08 06:49:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

茶水人生

新虫 (知名作家)

3楼2018-03-06 10:25:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 安仙儿 的主题更新
信息提示
请填处理意见