TI中文支持网
TI专业的中文技术问题搜集分享网站

CAP捕获问题

我使用CAP4进行捕获中断,检测频率,配置如下:

EvbRegs.T4CON.bit.FREE=0;//仿真挂起,立即停止

EvbRegs.T4CON.bit.SOFT=0;

EvbRegs.T4CON.bit.TMODE=2;//连续增

EvbRegs.T4CON.bit.TPS=7;//预定标寄存器为0,T4CLK=HSPCLK/64

EvbRegs.T4CON.bit.TENABLE=0;//禁止定时器T4 //主程序中打开

EvbRegs.T4CON.bit.TCLKS10=0;//使用内部时钟

EvbRegs.T4CON.bit.TCLD10=1;//定时器比较寄存器重载条件:当计数器值为0

EvbRegs.T4CON.bit.TECMPR=0;//禁止定时器比较操作

EvbRegs.GPTCONB.all=0;

EvbRegs.T4PR=0xffff; //Freq=(TCLK*1000000)/(T1PR+1)=1000HZ

EvbRegs.T4CMPR=0;//占空比

EvbRegs.T4CNT=0x0000;

EvbRegs.EVBIFRB.bit.T4PINT=1;

EvbRegs.EVBIMRB.bit.T4PINT=1;

/***** CAP4       **********/

EvbRegs.CAPCONB.bit.CAPRES=0;

EvbRegs.CAPCONB.bit.CAPQEPN=0;//先禁止CAP45,主程序中使能

EvbRegs.CAPCONB.bit.CAP6EN=0;//禁止CAP6

EvbRegs.CAPCONB.bit.CAP45TSEL=0;//CAP4 5选择T4

EvbRegs.CAPCONB.bit.CAP6TOADC=0;//不动ADC

EvbRegs.CAPCONB.bit.CAP4EDGE=1;//上升沿沿

//EvbRegs.CAPFIFOB.bit.CAP4FIFO = 0x0001;

EvbRegs.CAPFIFOB.all=0x0000;

EvbRegs.EVBIMRC.bit.CAP4INT=1;//CAP4中断使能

EvbRegs.EVBIFRC.bit.CAP4INT=1;//CAP4中断标志复位

但是,捕获的时间算出来的频率不正确,计算频率公式没问题,也就是捕获的时间不对,这是为什么??

Forrest:

楼主看看这个帖子应该会有帮助:

www.deyisupport.com/…/11876.aspx

赞(0)
未经允许不得转载:TI中文支持网 » CAP捕获问题
分享到: 更多 (0)