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.

[参考译文] PRU-SWPKG:有关于 am62x 的 pruss-iep0计时器的例子吗?

Guru**** 2554750 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1381720/pru-swpkg-is-there-any-example-about-pruss-iep0-timer-of-am62x

器件型号:PRU-SWPKG

工具与软件:

您好、TI 工程师:

有没有关于 am62x 的 pruss-iep0计时器的示例?  

只需不断检查 IEP0/计时器超时状态标志。  

谢谢!

James

PS、 在 AM335x 中、计时器运行良好、我想将其移植到 am62xx、

这里是代码段、

void timer_init()

/*将默认 inc 设置为1、将补偿 inc 设置为1 (尽管从未使用)*/
GLOBAL_CFG = GLOBAL_CFG_DEFAULT_INC (1)| GLOBAL_CFG_CMP_INC (1);

/*启用来自 CMP1的中断*/
PIEP_CMP_CFG = CMP_CFG_CMP_EN (0)|1;//"|1"清除 counter0自动、但测试不起作用

/*设置 CMP1的值=(以 us 为单位的 TIME_UNIT)*(1us 的 clk 周期数)*/
PIEP_COUNT = 0;//写入清除计数器
PIEP_CMP_CMP0 =超时;

/*如果错误地设置了中断、请清除 CMP1的中断*/
PIEP_CMP_STATUS = CMD_STATUS_CMP_HIT (0);

/*启动计时器*/
GLOBAL_cfg |= GLOBAL_CFG_CNT_ENABLE;
PIEP_GLOBAL_CFG = GLOBAL_cfg;
}

void timer_loop_checking()  

{ while (!( PIEP_CMP_STATUS & 1 ));
 PIEP_CMP_STATUS = CMD_STATUS_CMP_HIT (0);

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    这种方法在理想情况下应该起作用。  但请注意、AM335x 和 AM62x 之间的寄存器偏移是不同的、因为前者具有32位、而后者具有 64位 IEP 计时器。

    另外,请注意,我们的域名专家为您的查询不在办公室2周。 请预计响应时间会有所延迟。

    感谢您的耐心。

    此致、

    Nitika

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢。

    James