📄 pwm_m.c
字号:
//
// TMDX ALPHA RELEASE
// Intended for product evaluation purposes
//
//###########################################################################
//
// FILE: DSP28_Example.c
//
// TITLE: DSP28 CPU_Timer example program.
//
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 0.55| 06 May 2002 | S.S. | EzDSP Alpha Release
// 0.57| 27 May 2002 | L.H. | No change
//###########################################################################
// Step 0. Include required header files
// DSP28_Device.h: device specific definitions #include statements for
// all of the peripheral .h definition files.
// DSP28_Example.h is specific for the given example.
#include "DSP28_Device.h"
//Uint16 temp;
int16 result[10];
int16 k=0;
Uint16 capnum1;
Uint16 capnum2;
float32 f;
float32 pinlvf[5];
int16 fnum=0;
interrupt void ISRCAPINT1(void);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE控制寄存器*/
InitPieCtrl();
/*初始化PIE矢量表*/
InitPieVectTable();
/*初始化EV*/
InitEv();
EALLOW;
PieVectTable.CAPINT1 = &ISRCAPINT1;
EDIS;
IER |= M_INT5;
PieCtrl.PIEIER3.bit.INTx5 = 1;
// CAP1Init();
EINT;
ERTM;
/* while(1)
{
if((EvaRegs.CAPFIFO.bit.CAP1FIFO)==2)
temp = EvaRegs.CAP1FBOT-EvaRegs.CAP1FIFO;
}*/
}
interrupt void ISRCAPINT1(void)
{
Uint16 temp;
EvaRegs.EVAIFRC.bit.CAP1INT=1;
capnum1=EvaRegs.CAP1FIFO;
capnum2=EvaRegs.CAP1FIFO;
if(capnum2 > capnum1)
temp = capnum2-capnum1;
else
temp = capnum2+(0xFFFF-capnum1);
pinlvf[fnum++] =temp;
if(fnum>4) fnum=0;
f= 2343750.0/(float)temp;//f= 150M/64/temp
PieCtrl.PIEACK.all = PIEACK_GROUP3;
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -