This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28035-EP: SVPWM_DQ.h 内的宏SVGENDQ_MACRO(v)内容错误,Ta、Tb、Tc的生成是错误的

Part Number: TMS320F28035-EP
Other Parts Discussed in Thread: CONTROLSUITE

if (v.VecSector==1 || v.VecSector==4) \
{ v.Ta= v.tmp2; \
v.Tb= v.tmp1-v.tmp3; \
v.Tc=-v.tmp2; \
} \
\
else if(v.VecSector==2 || v.VecSector==5) \
{ v.Ta= v.tmp3+v.tmp2; \
v.Tb= v.tmp1; \
v.Tc=-v.tmp1; \
} \
\
else \
{ v.Ta= v.tmp3; \
v.Tb=-v.tmp3; \
v.Tc=-(v.tmp1+v.tmp2); \
}

以上代码段错误,按照Ti的文档设计思路,应先算t1,t2。之后再生成Ta、Tb、Tc,该宏中直接省略中间过程。推导的结果也无法赋值给比较寄存器。