This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28030:捕捉输入事件驱动器模块

Guru**** 2388300 points
Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/769941/ccs-tms320f28030-capture-input-event-driver-module

器件型号:TMS320F28030
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

我使用 f2803xcap.h 文件获取两个上升/下降沿之间的定时器值差异。

我的系统频率60MHz。

我的初始化是  

#define ECCTL1_INIT_STATE (CAP1POL_FALLING_EDGE +\
CAPLDEN_ENABLE +\
CTRRST1_Differation_TS +\
EVTFLTPS_X_1 +\
emulation_free)


#define ECCTL2_init_State (continuous_mode +\
TSCNTSTP_FREE +\
SYNCI_DISABLE +\
SYNCO_DISABLE +\
CAPTURE_MODE)

因此、我将得到多少时间戳、并按照过程计算20ms (方波输入)的时间戳。

EventPeriod=(Int32)(cap1.EventPeriod);

 EventPeriod 变量会产生多少结果?  

提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ganesh、
    您是否了解过 C2000Ware 中的示例? 有几个示例应该向您确切展示如何执行此操作。

    eCAP 计时器的输出将以 SYSCLK 为单位、如果您已将时钟设置为60MHz、则每个计数将为16nS。

    结果"EventPeriod"将在 CAP1设置为捕获的最后一个边沿事件期间具有 TBCTR 的值。 根据您在 ECCTL1中的 CTRRSTx 设置、它可以是介于0和4、294、967、295之间的任何值。

    此致、
    Cody