?? example_280xecap_apwm.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; //設(shè)置對外部輸入時鐘預(yù)不分頻
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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -