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

📄 example_280xecap_apwm.c

📁 2808程序
💻 C
字号:
#include "DSP280x_Device.h"     // DSP280x Headerfile Include File
#include "DSP280x_Examples.h"   // DSP280x Examples Include File

// Global variables
Uint16 direction = 0;
Uint32 TSt1=0x00000000;
Uint32 TSt2=0x00000000;
Uint32 TSt3=0x00000000;
Uint32 TSt4=0x00000000;
Uint32 period1=0x00000000;
Uint32 period2=0x00000000;
Uint32 period3=0x00000000;

void main(void)
{
  InitSysCtrl();
  InitECap1Gpio();
  DINT;
  InitPieCtrl();
  IER = 0x0000;
  IFR = 0x0000;
  InitPieVectTable();

   ECap1Regs.ECCTL2.bit.CAP_APWM=0;	// Disable APWM mode
   ECap1Regs.CAP1 = 0x00000000;			// Set CAP1 innitial value
   ECap1Regs.CAP2 = 0x00000000;			// Set CAP1 innitial value
   ECap1Regs.CAP3 = 0x00000000;
   ECap1Regs.CAP4 = 0x00000000;
   ECap1Regs.ECCLR.all = 0x0FF; 		// Clear pending interrupts
   
   ECap1Regs.ECCTL1.all=0xc100;                 //设置对外部输入时钟预不分频
   ECap1Regs.ECCTL2.all=0x0097;
   ECap1Regs.ECEINT.all=0x003E;                 //cap1-4使能中断且溢出中断使能
   ECap1Regs.ECFLG.all=0x003E;

   for(;;)
   {
     do
     { }
     while(ECap1Regs.ECFLG.bit.CEVT1==0);
     TSt1=ECap1Regs.CAP1;
     ECap1Regs.ECFLG.bit.CEVT1=0;
     do
     { }
      while(ECap1Regs.ECFLG.bit.CEVT2==0);
     TSt2=ECap1Regs.CAP2;
	 ECap1Regs.ECFLG.bit.CEVT2=0;
     do
     { }
     while(ECap1Regs.ECFLG.bit.CEVT3==0);
     TSt3=ECap1Regs.CAP3;
	 ECap1Regs.ECFLG.bit.CEVT3=0;

	 do
     { }
     while(ECap1Regs.ECFLG.bit.CEVT4==0);
     TSt4=ECap1Regs.CAP4;
	 ECap1Regs.ECFLG.bit.CEVT4=0;

     period1=TSt2-TSt1;
     period1=TSt3-TSt2;
     period1=TSt4-TSt3;

    }
}

⌨️ 快捷键说明

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