📄 ad.c
字号:
#include "DSP28_Device.h"
#include "IQmathLib.h"
#include "clarke.h"
#include "svgen_dq.h"
#include "qep.h"
#define COMCONA *((volatile int *)0x7411)
float a1[16];
unsigned int a2=0;
float adclo=0.0;
_iq tempX;
//_iq u,u1,u2,u3,u4,u5,u6,a1,a2,a3;
int m,j,k,a5,a6;
CLARKE clarke1 = CLARKE_DEFAULTS;
SVGENDQ svgen_dq1 = SVGENDQ_DEFAULTS;
QEP qep1 = QEP_DEFAULTS;
void display();
interrupt void Eva_PDPINT_isr(void);
#define PI 3.141592654
int led2[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};
int num[5]={0,0,0,0,0};
int str,no,sl,l,kl;
// Prototype statements for functions found within this file.
void main(void)
{
// m=0;
// j=0;
// k=0;
// l=0;
InitSysCtrl();
/*u=_IQatan2PU(_IQ(0.1),_IQ(0.5));*/
//u6=_IQsinPU(_IQ(0.1)); //0.006度 0.0001
/*u=_IQ(-0.1);
tempX = _IQmpy(_IQ(5), _IQ(0.1));
clarke1.as = u;
clarke1.bs = tempX;
clarke1.calc(&clarke1);
u1 = clarke1.ds;
u2 = clarke1.qs;
svgen_dq1.Ualfa = u1;
svgen_dq1.Ubeta = u2;
svgen_dq1.calc(&svgen_dq1);
u3 = svgen_dq1.Ta;
u4 = svgen_dq1.Tb;
u5 = svgen_dq1.Tc; */
DINT;
IER = 0x0000;
IFR = 0x0000;
InitPieCtrl();
InitPieVectTable();
EALLOW;
GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6 = 0;
GpioMuxRegs.GPAMUX.bit.T2PWM_GPIOA7 = 0;
GpioMuxRegs.GPAMUX.bit.TDIRA_GPIOA11 = 0;
GpioMuxRegs.GPAMUX.bit.TCLKINA_GPIOA12 = 0;
GpioMuxRegs.GPAMUX.bit.C1TRIP_GPIOA13 = 0;
GpioMuxRegs.GPAMUX.bit.C2TRIP_GPIOA14 = 0;
GpioMuxRegs.GPAMUX.bit.C3TRIP_GPIOA15 = 0;
GpioMuxRegs.GPBMUX.all = 0x0000;
GpioMuxRegs.GPADIR.bit.GPIOA6 = 1;
GpioMuxRegs.GPADIR.bit.GPIOA7 = 1;
GpioMuxRegs.GPADIR.bit.GPIOA11 = 0;
GpioMuxRegs.GPADIR.bit.GPIOA12 = 0;
GpioMuxRegs.GPADIR.bit.GPIOA13 = 0;
GpioMuxRegs.GPADIR.bit.GPIOA14 = 0;
GpioMuxRegs.GPADIR.bit.GPIOA15 = 0;
GpioMuxRegs.GPBDIR.all = 0x1D00;
GpioMuxRegs.GPDMUX.bit.T1CTRIP_PDPA_GPIOD0 = 0;
// GpioMuxRegs.GPDDIR.bit.GPIOD0=0;
GpioMuxRegs.GPDQUAL.all = 0x40;//0x40;
EDIS;
InitEv();
GpioDataRegs.GPADAT.bit.GPIOA7=0;
for(sl=0;sl<5;sl++)
{
for(no=0;no<8;no++)
{
GpioDataRegs.GPADAT.bit.GPIOA6=0; // the clock ?????
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA7=1;
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA6=1;
asm (" NOP");
}
}
l=241;
display();
/* str=led2[2];
for(no=0;no<8;no++)
{
GpioDataRegs.GPADAT.bit.GPIOA6=0; // the clock ?????
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA7=str&0x01;
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA6=1;
asm (" NOP");
str=str>>1;
}
*/
EvaRegs.EVAIMRA.bit.PDPINTA = 1;
EvaRegs.EVAIFRA.bit.PDPINTA = 1;
EALLOW;
PieVectTable.PDPINTA = &Eva_PDPINT_isr;
// PieVectTable.CAPINT3 = &Eva_timer2
EDIS;
// Enable INT14 which is connected to CPU-Timer 2:
IER |= M_INT1;
PieCtrl.PIEIER1.bit.INTx1 = 1;
qep1.init(&qep1);
//KickDog();--
// Enable global Interrupts and higher priority real-time debug events:
// EINT; // Enable Global interrupt INTM
// ERTM; // Enable Global realtime interrupt DBGM
for(;;)
{
/* for(m=350;m<=360;m++)
{
if(m==360)
m=0;
j=m+120;
if(j>360)
j=j-360;
k=m+240;
if(k>360)
k=k-360;
a1=_IQsin(_IQ(m*2*PI/360));
a2=_IQsin(_IQ(j*2*PI/360));
a3=_IQsin(_IQ(k*2*PI/360));
// a5=m*0.71111;
// a6=j*0.71111;
// a1=_IQ(sintab256[a5]);
// a2=_IQ(sintab256[a6]);
clarke1.as = a1;
clarke1.bs = a2;
clarke1.calc(&clarke1);
u1 = clarke1.ds;
u2 = clarke1.qs;
svgen_dq1.Ualfa = u1;
svgen_dq1.Ubeta = u2;
svgen_dq1.calc(&svgen_dq1);
u3 = svgen_dq1.Ta;
u4 = svgen_dq1.Tb;
u5 = svgen_dq1.Tc;
}
*/
KickDog();
display();
}
}
void display()
{
// l=speed1.speed_rpm1;
// l=1450;
l++;
num[0]=10;
num[1]=(int)(l/1000);
num[2]=(int)((l-num[1]*1000)/100);
num[3]=(int)((l-num[1]*1000-num[2]*100)/10);
num[4]=(int)(l-num[1]*1000-num[2]*100-num[3]*10);
qep1.calc(&qep1);
// l++;
for(sl=0;sl<5;sl++)
{
//?????????1(2,3)??0?,???0,??????? ?????
//?????????
kl=num[sl];
str=led2[kl];
for(no=0;no<8;no++)
{
GpioDataRegs.GPADAT.bit.GPIOA6=0; // the clock ?????
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA7=str&0x01;
asm (" NOP");
GpioDataRegs.GPADAT.bit.GPIOA6=1;
asm (" NOP");
str=str>>1;
}
}
}
interrupt void Eva_PDPINT_isr(void)
{
EvaRegs.EVAIFRA.bit.PDPINTA = 1; //clear interrupt flags
PieCtrl.PIEACK.bit.ACK1 = 1; //clear PIEACK flags
l++;
}
/**/
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -