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.

[参考译文] AWR2944:CAN 中断有一些错误

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1399059/awr2944-the-can-interrupt-has-some-errors

器件型号:AWR2944

工具与软件:

尊敬的 TI 支持部门:

      当前使用的 CAN 中断是第一条中断线(INT0)、为中断号44。

      我按如下方式操作寄存器:

          •中断寄存器(MCAN_IR)

                   /*寄存器中断*/
                 Hwip_Params_init (&hwiPrms);
                 hwiPrms.intNum     = MCAN_INTR_NUM;
                 hwiPrms.callback    = &F454ISR Flash_Registermcan
                 链路状态        =  Hwip_construct (&gMcanHwiObject、 &hwiPrms);

                

          •中断启用(MCAN_IE)     

                MCAN_INTR_MASK (MCAN_INTR_SRC_TRANS_COMPLETE | MCAN_INTR_SRC_DIRECT_RX_BUFF_MSG | MCAN_INTR_SRC_BUS_OFF_STATUS)

                MCAN_enableIntr (gMcanBaseAddr、MCAN_INTR_MASK、 true);

          •中断线路选择(MCAN_ILS)            

                      typedef  枚举
                      {
                         MCAN_INTR_LINE_NUM_0  =  0U
                         /**< MCAN 中断行0 */
                          MCAN_INTR_LINE_NUM_1  =  1U
                          /**< MCAN 中断行1 */
                      }MCAN_IntrLineNum;

                    MCAN_selectIntrLine (gMcanBaseAddr、MCAN_INTR_MASK、MCAN_INTR_LINE_NUM_0);

          •中断线路启用(MCAN_ILE)

                    MCAN_txBufTransIntrEnable (gMcanBaseAddr、 0U、 TRUE);

   通过上述配置仍然无法通信。 我的用法有什么问题吗?

 

当我读取寄存器值时、它们全部为零。 
    MCAN_getNewDataStatus (gMcanBaseAddr&newDataStatus);
    LINEST = MCAN_getIntrLineSelectStatus (gMcanBaseAddr);
我读取寄存器的值、但 ACT 为1、其他值全部为零。 
   MCAN_getProtocolStatus (gMcanBaseAddr&protStatus);

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

    器件型号:AWR2944

    工具与软件:

    尊敬的 TI 支持部门:

          当前使用的 CAN 中断是第一条中断线(INT0)、为中断号44。

          我按如下方式操作寄存器:

              •中断寄存器(MCAN_IR)

                       /*寄存器中断*/
                     Hwip_Params_init (&hwiPrms);
                     hwiPrms.intNum    = MCAN_INTR_NUM;
                     hwiPrms.callback   =&F454ISR Flash_Registermcan
                     链路状态        = Hwip_construct (&gMcanHwiObject&hwiPrms);

                    

              •中断启用(MCAN_IE)     

                    MCAN_INTR_MASK (MCAN_INTR_SRC_TRANS_COMPLETE | MCAN_INTR_SRC_DIRECT_RX_BUFF_MSG | MCAN_INTR_SRC_BUS_OFF_STATUS)

                    MCAN_enableIntr (gMcanBaseAddr、MCAN_INTR_MASK、true);

              •中断线路选择(MCAN_ILS)            

                          typedef 枚举
                          {
                             MCAN_INTR_LINE_NUM_0 = 0U
                             /**< MCAN 中断行0 */
                              MCAN_INTR_LINE_NUM_1 = 1U
                              /**< MCAN 中断行1 */
                          }MCAN_IntrLineNum;

                        MCAN_selectIntrLine (gMcanBaseAddr、MCAN_INTR_MASK、MCAN_INTR_LINE_NUM_0);

              •中断线路启用(MCAN_ILE)

                        MCAN_txBufTransIntrEnable (gMcanBaseAddr0U、TRUE);

       通过上述配置仍然无法通信。 我的用法有什么问题吗?

     

       我读取状态并且它们都为零。

            clockack = MCAN_getClockStopAck (gMcanBaseAddr); ->0

            clcoktop = MCAN_getClkStopAck (gMcanBaseAddr);-> 0
       

      我读取 ECR 寄存器、ecr.rec =20

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

    器件型号:AWR2944

    工具与软件:

    您好、TI 支持

         为什么 我要使用 Hwip 产生 mcan 中断号44,但我的回调

    无法输入?

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

    您好、Cheyrl、

    请允许我在本周结束前与您联系。

    此致、

    Ajay

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

    您好、 Cheyrl、

    如果在注册期间没有 CAN 活动、您将收到中断。

    请参阅 SDK 中的 MCAN 示例进行参考。

    此致、

    Ajay