⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spwm.c

📁 dsp2812的PWM程序
💻 C
字号:

#include "DSP281x_Device.h" 
    
#include "DSP281x_Examples.h"
 
Uint16 flag=0,count=0;

Uint16 SPWM[125]={8,23,38,53,68,83,98,112,127,142,157,171,185,200,214,228,242,255,269,282,296,
309,321,334,347,359,371,382,394,405,416,427,437,448,457,467,476,485,494,503,511,518,526,533,
540,546,552,558,563,568,573,577,581,585,588,591,593,595,597,598,599,600,600,600,599,598,597,
595,593,591,588,585,581,577,573,568,563,558,552,546,540,533,526,518,511,503,494,485,476,467,
457,448,437,427,416,405,394,382,371,359,347,334,321,309,296,282,269,255,242,228,214,200,185,
171,157,142,127,112,98,83,68,53,38,23,8};
 
void init_EVA(void);

interrupt void EVA_timer1_isr(void);

void main(void)
{

   InitSysCtrl();


   EALLOW;
 
   GpioMuxRegs.GPAMUX.all = 0x00FF; 

   GpioMuxRegs.GPBMUX.all = 0x00FF;
    
   EDIS;
    
   DINT;

   InitPieCtrl();

   IER = 0x0000;

   IFR = 0x0000;

   InitPieVectTable();

   init_EVA();

   EvaRegs.EVAIMRA.bit.T1PINT=1;

   EvaRegs.EVAIFRA.bit.T1PINT=1;

   EALLOW;

   PieVectTable.T1PINT = &EVA_timer1_isr;

   EDIS;

   PieCtrlRegs.PIEIER2.all=M_INT4;

   IER|=M_INT2;

   EINT;
   
   ERTM;

   for(;;);

}

interrupt void EVA_timer1_isr(void)

{
  
  if(count==125)

  {

   flag=~flag;

   count=0;

   }

else

   { 


   EvaRegs.CMPR1 = 625+SPWM[count];

   EvaRegs.CMPR2 = 625+SPWM[count];

   count++;

   }

else

   { 


   EvaRegs.CMPR1 = 625-SPWM[count];

   EvaRegs.CMPR2 = 625-SPWM[count];

   count++;

   }

   EvaRegs.EVAIMRA.bit.T1PINT=1;

   EvaRegs.EVAIFRA.all=BIT7;
   
   PieCtrlRegs.PIEACK.all=PIEACK_GROUP2; 

}


void init_EVA()
{

 
   EvaRegs.T1PR = 1250;

   EvaRegs.T1CMPR = 1250;
        
   EvaRegs.T1CNT = 0x0000;     

   EvaRegs.T1CON.all = 0x0842;   
  
   EvaRegs.GPTCONA.bit.TCMPOE = 1;

   EvaRegs.GPTCONA.bit.T1PIN = 1;

   EvaRegs.CMPR1 = 1000;

   EvaRegs.CMPR2 = 625;
    
   EvaRegs.ACTRA.all = 0x0666;

   EvaRegs.DBTCONA.all = 0x0000;
    
   EvaRegs.COMCONA.all = 0xA600;


} 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -