请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMDSHVMTRPFCKIT 尊敬的 TI 您好、
我正在尝试使用 eCAP 模块计算两个上升沿之间的超时、
我想使用 eCAP 测量速度、
我使用的是 f2803xcap.h、
/*============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ 文件名: F2803XCAP.H 目标:F2803x 系列 ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== */ #ifndef __F280x_CAP_H__ #define __F280x_CAP_H__ #include "f2803xbmsk.h" #include "f2803xdrvlib.h" /*--- ECAP1的 ECAP 控制寄存器1和2的初始化状态 --------------------------------------------------------------- */ #define ECCTL1_INIT_STATE (CAP1POL_RISTING _EDGE +\ CAPLDEN_ENABLE +\ CTRST1_Difference _TS +\ EVTFLTPS_X_1 +\ emulation_free) #define ECCTL2_init_State (continuous_mode +\ TSCNTSTP_FREE +\ SYNCI_DISABLE +\ SYNCO_DISABLE +\ 捕获模式) /*------------------ 定义捕捉驱动程序对象的结构------------------------------------------------------- // typedef struct{Int32 EventPeriod;//输出:检测到的两个边沿之间的计时器值差异(Q0) uint16 CapReturn; } 捕捉; /*----------------- F280x 捕获对象的默认初始化程序 ------------------------------------------------------- */ #define F280XCAP1 {1、0\ } /*------------------ 目标独立的默认初始化程序捕获对象------------------------------------------------------- */ #define CAPTURE_DEFAULTS F280XCAP1 /*------------------------------------------------------- CAP_INIT 和 CAP 宏定义------------------------------------------------------- * #define CAP_INIT_MACRO (n)\ /* Init ECAP Control Register 1 and 2 for ECAP1*/\ (* eCAP[n]).ECCTL1.ALL = ECCTL1_INIT_STATE;\ (* eCAP[n]).ECCTL2.ALL = ECCTL2_INIT_STATE;\ //确保 GPIO 配置在...-DevInit_F2803x.c 文件中正确完成,如下所示\\ EALLOW; /*启用 EALLOW */\ /*将 ECAP1引脚设置为主要功能*/\ GpioCtrlRegs.GPAMUX2.bit.GPIO24=1;// GPIO24为 ECAP1 */\ EDIS; /*禁用 EALLOW*/ #define CAP_MACRO (n、v)\ if ((* eCAP[n]).ECFlG.bit.CEVT1!= 0)/*检查 ECAP1引脚第一个事件的一个入口状态*/\ {\ V.EventPeriod =(* eCAP[n]).CAP1;/*标记检测到的两个边沿之间的定时器计数器差异*/\ V.CapReturn=0; /*然后,返回零*/\ }\ 否则\ {\ V.CapReturn=1; /*否则,返回一个*/\ } #endif //__F280x_CAP_H__
在此代码行中:
V.EventPeriod =(* eCAP[n]).CAP1;/*标记检测到的两个边沿之间的定时器计数器差异*/\
ECAP 应返回周期、这意味着两个上升沿之间的超时、
可以有人帮助我配置 eCAP、以便它可以使用两个上升沿吗?
此致、
S.Tarik、