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/TMS570LC4357:RTI 通知中断

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/609694/ccs-tms570lc4357-rti-notification-interrupt

器件型号:TMS570LC4357

工具/软件:Code Composer Studio

/*用户代码开始(2)*/
unsigned int start_app;
/*用户代码结束*/

void main (void)
{
/*用户代码开始(3)*/
gioInit();
rtiInit();

/*启用中断*/
_enable_IRQ ();

rtiEnableNotification (rtiREG1、rtiNOTIFICATION_COMPARE0);
rtiStartCounter (rtiREG1、rtiCOUNTER_BLOCK0);

while (1){
if (start_app){
rtiResetCounter (rtiREG1、rtiCOUNTER_BLOCK0);
START_APP = 0;
/*执行 TL 生成的代码();*/
//Subsystem ();
gioSetBit (gioPORTB、6、1);
}
rtiStartCounter (rtiREG1、rtiCOUNTER_BLOCK0);
}




void rtiNotification (rtibase_t * rtiREG、uint32通知)
{
//在用户代码开始和用户代码结束之间输入用户代码。 */
*用户代码开始(12)*/
rtiStopCounter (rtiREG1、rtiCOUNTER_BLOCK0);
START_APP = 1;
//*用户代码结束*/
} 

您好!

我希望每10ms 触发一次中断、LED 就会亮起。

我找不到我的错误。

非常感谢

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

    您好!

    1.将 GIOB6引脚方向设置为输出

    2.您不需要重置计数器。

    3.尝试此修改

    rtiEnableNotification (rtiREG1、rtiNOTIFICATION_COMPARE0);
    rtiStartCounter (rtiREG1、rtiCOUNTER_BLOCK0);
    while (1){

    void rtiNotification (rtibase_t * rtiREG、uint32通知)

       /* 在用户代码开始和用户代码结束之间输入用户代码。 *
       /*用户代码开始(12)*/

       gioSetBit (gioPORTB、6、gioGetBit (gioPORTB、6)^ 0x01);  //切换 GIO 引脚

       START_APP = 1;
       /*用户代码结束*/

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

    谢谢。 它运行良好。 但为什么我没有停止计数器呢?

    我知道计数器是64位。 但是、当它达到最后的值时会发生什么情况? 2^63-1?

    谢谢

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

    当计数器达到0xFFFFFFFF_FFFFFFFF 时、它将回滚到0x00000000_00000000。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    如果溢出中断被启用(RTISETINTENA 寄存器)、它还会生成一个到 VIM 的溢出中断(OVLINTx)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢!

    NHET 和 RTI 之间有何差异? 两个都使用计数器。
    当有一个 NHET 时、为什么有一个 ePWM 模块来生成 PWM 信号?

    非常感谢