📄 10.6.c
字号:
/******************************************************
**描述:用CAP2对脉冲的上升沿进行捕获,再计算脉冲宽度**
******************************************************/
#include "DSP28_Device.h"
Uint16 temp;
void CAP2init()
{
EvaRegs.GPTCONA.all=0x0000;
EvaRegs.CAP2FBOT=0x0000;
EvaRegs.CAP2FIFO=0x0000;
EvaRegs.CAPFIFO.all=0x0000;
EvaRegs.T1PR=0xffff;
EvaRegs.T1CNT=0x0000;
EvaRegs.CAPCON.all=0x0210; //捕获单元2为检测上升沿,选择Timer1为时钟
EvaRegs.T1CON.all = 0xf74c; //Timer1 为连续增,预分频系数为128
}
void IOinit()
{
EALLOW;
GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9 =1; //使能 CAP2 引脚
EDIS;
}
main(void)
{
InitSysCtrl(); //系统初始化
DINT; //禁止和清除所有CPU中断
IER = 0x0000;
IFR = 0x0000;
IOinit();
CAP2init();
EvaRegs.T1CNT=0x0000;
EvaRegs.CAPCON.bit.CAPQEPN=1;
while (1)
{
if((EvaRegs.CAPFIFO.bit.CAP2FIFO)==2)
temp=EvaRegs.CAP2FBOT-EvaRegs.CAP2FIFO;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -