10.6.c
来自「数字信号处理器 原理、结构及应用基础-TMS320F28x所附光盘源程序C-C+」· C语言 代码 · 共 41 行
C
41 行
/******************************************************
**描述:用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 + =
减小字号Ctrl + -
显示快捷键?