28335的捕捉口时间计数器TSCTR能不能通过手动进行清零。
写出来的程序
ECap1Regs.ECCTL1.bit.CTRRST1 = 0;//1; // Difference operation
ECap1Regs.ECCTL1.bit.CTRRST2 = 0;//; // Difference operation
ECap1Regs.ECCTL1.bit.CTRRST3 = 0;//; // Difference operation
ECap1Regs.ECCTL1.bit.CTRRST4 = 1;
这种情况下都是第四个捕捉完成就进行了清零。
ECP1的TSCTR和ECAP2的TSCTR怎么实现计数同步的?
Green Deng:
eCAP模块是可以通过ePWM的同步信号进行同步的
但相应的,由于同步源来自ePWM,所以当ePWM的时钟清零的时候eCAP的时钟也会重新开始计时。
,
陈三少:
EPWM同步的话我的时序可能会乱掉想知道ECAP不同的几个捕捉口能不能由我手动进行清零,有没有一个寄存器给它写0或者写1之后能让TSCTR寄存器从新开始计数。这样我能很清楚的知道两个不同的捕捉口捕捉到的时间之间的时间差。
,
Green Deng:
找了一下没找到清除TSCTR寄存器的,不过有个ECCTL2.SWSYNC位你可以看一下,可以通过软件同步:Software-forced Counter (TSCTR) Synchronizer
,
Green Deng:
找到一个帖子你可以参考一下,关于同步的:e2e.ti.com/…/639074
,
陈三少:
谢谢你的帮助,想到了另外一种处理方式来处理了。
,
Green Deng:
好的,方便的话可以分享一下解决方案供其他用户参考。