TI中文支持网
TI专业的中文技术问题搜集分享网站

TCAN4550: CAN数据发送完毕后,如何产生中断 mcan_ir.TC/mcan_ir.TFE

Part Number:TCAN4550

例程中 中断为RF0NE,测试确实能够触发中断。CAN 发送信息我也测试过。但我需要设置一个can发送完毕的中断或者发送缓冲为空的中断(TCE)或(TFEE),我设置后却一直无法产生作用。通过上位机能看到上位机已经接收到TCAN发出的信息,但TCAN4550并没有产生中断。请问为什么?

设置的中断的位置

/* Set the interrupts we want to enable for MCAN */
  TCAN4x5x_MCAN_Interrupt_Enable mcan_ie = {0};       // Remember to initialize to 0, or you'll get random garbage!
  mcan_ie.RF0NE = 1;                      // RX FIFO 0 new message interrupt enable
  mcan_ie.TCE = 1;    
  //mcan_ie.TFEE = 1;
  TCAN4x5x_MCAN_ConfigureInterruptEnable(&mcan_ie);     // Enable the appropriate registers
多次运行发送程序,上位机已经接收到这里发送的数据:
TCAN4x5x_MCAN_TX_Header canheader = Conheader;  
  canheader.ID = CanID;
   。。。。。。。
  canheader.DLC = CanDlcCaculate(len);
  TCAN4x5x_MCAN_WriteTXBuffer(Index, &canheader, pdata);  
  TCAN4x5x_MCAN_TransmitBufferContents(Index);
处理中断的位置:
if (mcan_ir.RF0N)                  // If a new message in RX FIFO 0
{
。。。。。。。。    例程的程序,当上位机发送CAN数据这里可以正常收到
}
if(mcan_ir.TC) //TFE  TC  TCAN4550 发送完数据,这里一直没产生这个中断
 {
       platform_printf("\ntransmit Over \n ");     
       TCAN4x5x_MCAN_ClearInterrupts(&mcan_ir);
}
Kailyn Chen:

感谢您对TI产品的关注!为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上(e2e.ti.com/…/interface-forum),将由资深的英文论坛工程师为您提供帮助。

,

caidian chen:

英文论坛上注明需要提供公司邮箱。我更改了公司邮箱好像收不到验证?

,

Kailyn Chen:

是的,英文论坛需要使用公司邮箱, 第一次使用公司邮箱注册my TI会收到验证邮件,再等等,有时差美国现在是晚上。

或者我帮您提交到英文论坛,您也可以在上面直接跟进。

,

caidian chen:

好的,请帮我提交一下吧。我刚刚公司邮箱也验证过了,但想提交新问题还是提示要使用验证过的公司邮箱。谢谢

,

Kailyn Chen:

您好,关于您的这个问题,E2E 已经给出了回复,提出了几个问题,您可以直接在上面跟进,或者发到这里都可以:

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1303235/tcan4550-how-to-generate-interruption-mcan_ir-tc-mcan_ir-tfe-when-finished-sending-data

赞(0)
未经允许不得转载:TI中文支持网 » TCAN4550: CAN数据发送完毕后,如何产生中断 mcan_ir.TC/mcan_ir.TFE
分享到: 更多 (0)