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.

[参考译文] TMS320F28388D:如何通过将 IPC 消息 CM 发送到 CPU1来触发中断

Guru**** 2524550 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/852116/tms320f28388d-how-to-trigger-interrupt-by-sending-ipc-message-cm-to-cpu1

主题中讨论的其他器件:C2000WARE

大家好。

我将在 C2000Ware DriverLib 中测试 IPC 样本(IPC_ex2_msgqueue_c28x1)。

我已检查是否将 IPC 消息从 CPU1发送到 CM 并触发中断到 CM 中断处理程序。

但是、当从 CM 向 CPU1发送 IPC 消息时、CPU1不会触发 CPU1中断处理程序的中断。

使用 IPC API" IPC_readMessageFromQueue"、CPU1成功从消息 RAM (CM 至 CPU1)读取数据。

我已在 CPU1中检查 CMTOCPU1IPCSTS 寄存器。 该寄存器已成功设置 IPC 标志。 但未触发 CPU1中断处理程序的中断。

如何将 CPU1由 IPC 消息 CM 触发中断例程编程到 CPU1?  

CPU1示例)

void main (void)
  IPC_clearFlagLtoR (IPC_CPU1_L_CM_R、IPC_FLAG_ALL);
   IPC_registerInterrupt (IPC_CPU1_L_CM_R、IPC_INT1、IPC_ISR1);
   IPC_initMessageQueue (IPC_CPU1_L_CM_R、&messageQueue、IPC_INT1、IPC_INT1);
   IPC_SYNC (IPC_CPU1_L_CM_R、IPC_FLAG31);
  while (1);
CM 示波器)
void main (void)
   IPC_clearFlagLtoR (IPC_CM_L_CPU1_R、IPC_FLAG_ALL);
   IPC_registerInterrupt (IPC_CM_L_CPU1_R、IPC_INT1、IPC_ISR1);
   IPC_initMessageQueue (IPC_CM_L_CPU1_R、&messageQueue、IPC_INT1、IPC_INT1);
   IPC_SYNC (IPC_CM_L_CPU1_R、IPC_FLAG31);
  IPC_sendMessageToQueue (IPC_CM_L_CPU1_R、&messageQueue、IPC_ADDR_CORRECT_ENABLE、
                                  &TxMsg、IPC_Blocking_call);
  IPC_readMessageFromQueue (IPC_CM_L_CPU1_R、&messageQueue、IPC_ADDR_correction_disable、
                                    &RxMsg、IPC_Blocking_call);
  while (1);

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

    您是否检查了 CMTOCPU1IPCFLG 中是否设置了相应的标志?

    您是否检查了 CMTOCPU1IPCSTS 中是否设置了相应的标志?

    此致、

    曼诺伊

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

    感谢您的回答。

    我已经检查 了 CMTOCPU1IPCFLG、 CMTOCPU1IPCSTS。

    CM 设置成功 CMTOCPU1IPCFLG IPC 标志(例如 IPC2:CMTOCPU1IPCFLG 位4设置)。

    CPU1成功设置 CMTOCPU1IPCSTS IPC 标志。(例如 IPC2: CMTOCPU1IPCSTS 位4设置)。

    但 CPU1不调用 CMtoCPU1IPC2的中断例程。