📄 normal.c
字号:
#include "Cpu.h"
#include "Events.h"
#include "Start.h"
#include "Close.h"
#include "Smopos.h"
#include "Clarke.h"
#include "Iclarke.h"
#include "Park.h"
#include "Ipark.h"
#include "ADC1.h"
#include "Normal.h"
extern long int cnt2drtchg;
extern bool updown;
extern unsigned int Vbus1;
extern unsigned int Vbusoffset;
extern int Vbus;
extern unsigned int Ia1;
extern unsigned int Ib1;
extern int Iaoffset;
extern int Iboffset;
extern int Ia;
extern int Iaold;
extern int Iafst;
extern int Ib;
extern int a;
extern int b;
extern int cnt2tabset;
extern bool tabset;
extern bool tabstop;
extern int cnt2ctlchg;
extern bool clzloop;
extern int cnt2autoadj;
extern bool autoadj;
extern int ktempchg;
extern int ktempmax;
extern int ktemp;
extern int gujun;
extern int Imax;
extern bool Imaxfst;
extern int cnt2Imax;
extern int index;
extern unsigned int cnt2Imaxchg;
extern int Imaxtab[28];
extern int Imin;
extern int idx;
extern int Iminflag;
extern int d;
extern int e;
extern bool tab;
extern int sensebit;
extern bool stclz;
extern int delta;
extern int deltaold;
void Normal(void)
{
long int temp32;
if(tab==0)
{
cnt2tabset++;
/* count to start the table set */
if((cnt2tabset>=30000) && (tabstop==0))
{
tabset=1;
}
/* indicate stop the table set */
if(tabstop==1)
cnt2tabset=30000;
}
cnt2ctlchg++;
if(cnt2ctlchg>=32000)
{
clzloop=1;
cnt2ctlchg=32000;
}
Start();
Vbus1=(getReg(ADC_ADRSLT1) & 0x7fff); /* DC Bus voltage sample value */
Vbus1=Vbus1>>3;
Vbus1-=Vbusoffset;
if(Vbus1>65530)
Vbus1=0;
temp32=(L_mult(((int)(Vbus1+Vbusoffset)),3356))>>10;/* Q6 */
Vbus=(int)temp32; /* Q6 */
Ia1=(getReg(ADC_ADRSLT0) & 0x7fff); /* phase u current sample value */
Ib1=(getReg(ADC_ADRSLT2) & 0x7fff); /* phase v current sample value */
Ia=(int)(Ia1>>3);
Ib=(int)(Ib1>>3);
Ia-=Iaoffset;
Ib-=Iboffset;
Ia=-Ia;
Ib=-Ib;
temp32=(L_mult(Ia,21))>>1; /* 21(Q15)=0.0006409,result Q15 */
a=(int)temp32; /* Q15 */
temp32=(L_mult(Ib,21))>>1; /* 21(Q15)=0.0006409,result Q15 */
b=(int)temp32; /* Q15 */
/* call close loop adjustment */
Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -