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.

AWR6843: rtiGetCurrentTick

Part Number: AWR6843

尊敬的各位专家,你们好!下图是我用HAL工具生成的RTI相关代码。

我有个疑问,在获取RTI current tick的时候,

tick = RTI_CNT_FRCx - (RTI_CMP_COMPx - RTI_CMP_UDCPx);
为何是上述设计?
按照我的理解 RTI_CMP_COMPx 和 RTI_CMP_UDCPx的值应该是一致的,因为UDCP的值是加载进COMPx寄存器的,见下图。

所以,tick = RTI_CNT_FRCx?
  • 您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

  • 您好,

    RTI_CMP_UDCPx 是周期性值,我们希望在此生成比较中断。 换句话说,如果该值为100,那么我们会每100个节拍生成一次比较中断。 每次发生比较中断时,RTI_CMP_UDCPx 的值都会自动添加到 RTI_CMP_COMPx 的值中。 举个例子,您可以参阅以下配置: 

    RTI_CMP_COMP1 = 50

    RTI_CMP_UDCP1 = 100

    一旦计数器达到50,RTI_CMP_COMP1值将更新为50+100=150。 然后,在 count = 150时,RTI_CMP_COMP1将会更新为250,然后以此类推。

    因此,函数 rtiGetCurrentTick()会返回这个特定的比较周期的节拍。