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.
工具/软件:
您好、
我将在项目中使用 eCAP 来捕获连续模式下 PWM 的占空比。
在2个事件后绕回。 第一个事件:上升沿/第二个事件:下降沿。
针对第一个事件(上升沿)生成中断。 在上升沿复位计数器。
我注意到数据表中没有提到很重要的一点。
如果我在已处理事件(我的应用中的 CEVT1)标志之前清除全局 INT 标志位、则会生成另一个中断脉冲、因此在第一个中断之后会立即发生第二个中断。
它不会改变 CAP 寄存器的结果、但会浪费处理器重新来源。
因此、必须 在全局 INT 标志之前绝对清除已处理事件标志 、以避免这个虚假中断。
我让您确认此行为、但它未在 TRM 中明确说明。 最糟糕的是、在 我 启动我的项目的技术讲座 Lab7(forTMS320F379d)中做的不对。
请确认 我是对的还是错过了一些东西。
此致、
Adrien
尊敬的 Adrien:
正确。 您将清除事件中断、然后像我们 C2000WARE SDK 的 eCAP/文件夹中的示例那样清除全局中断。
这张图展示了一些情况。 如果在 CEVT 事件之前清除 INT 标志、则实际上是导致多路复用器选择了其中一个尚未处理的 CAPEVT、并将导致发生另一个中断。
能否将您所指的研讨会链接给我?
此致、
Ryan Ma
您好、Ryan、
我指的是之前 TMS320F2837xD 的技术讲座、名叫"TMS320F2837xD 微控制器技术讲座"、干得不错、有助于开始使用 TMS320。 在实验7中、它在 CEVT 标志之前清除 INT 标志。
我导入了 SDK v5_04_00_00的示例、我认为还有相同的问题、在 CEVT 标志之前清除 INT 标志、因此在第一个中断之后会立即生成第二个中断、我不确定这是预期的行为。
生成两个中断:
反转红色箭头所示的两行、并且只会生成一个中断(预期行为):
我注意到、在我的应用中、通过在 eCAP ISR 中切换 GPIO、我可以在示波器上看到、如果在 CEVT 标志之前清除 INT Flaf、它会切换两次;而当我在 INT 标志之前清除 CEVT 标志(预期行为)时、它只会切换一次。
如果不是预期行为、您能否确认并纠正示例? 在任何地方都没有记录。
谢谢、
此致、
Adrien
我导入了 SDK v5_04_00_00的示例、我认为还有相同的问题、在 CEVT 标志之前清除 INT 标志、因此在第一个中断之后会立即生成第二个中断、我不确定这是预期的行为。
[/报价]您指的是哪个示例? 我正在查看 eX2作为 eCAP。
这是预期行为。
此致、
Ryan Ma
您好、Ryan、
我要参考的示例位于 SDK 5_04_00_00 / C2000Ware / training / device / f2838x / control_peripherals / lab_ePWM_ECAP 中。
在此示例中、它是不正确的(在标志 CEVT 之前清除标志 INT)。 我使用此示例作为起点。
我刚刚找到了另一个 TSM320F2837x 器件的正确示例。
感谢您的支持、
Adrien