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.

[参考译文] TCAN4550:TC 完成数据发送后、如何生成中断 mcan_ir.tfe/mcan_ir.tfe

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

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

器件型号:TCAN4550

您好,

一位客户询问了有关 TCAN4550的问题:

中断需要 RF0NE 并经过测试、可以产生中断。 他还测试了 CAN 发送的信息。 他需要在完成发送 或发送空中断 TCE 或 TFEE 时设置一个中断、但该设置无效。   通过上面的计算机可以看到 它已接收到来自 TCAN 的消息、但 TCAN4550未生成中断。 为什么会这样?  

位置设置中断

/*为 MCAN 设置要启用的中断*/
  TCAN4x5x_MCAN_MCAN_ie Interrupt_Enable   = {0};    //请记住要初始化为0、否则将得到随机垃圾!
  mcan_i.RF0NE  =  1            // RX FIFO 0新消息中断启用
  mcan_i.TCE  =  1;   
  //mcan_i.TFEE = 1;
  TCAN4x5x_MCAN_ConfigureInterruptEnable (&mcan_ie);   //启用相应的寄存器
运行发送方几次,上面的计算机已接收到此处发送的数据:
TCAN4x5x_MCAN_TX_Header   = 连接头;  
  canheader.ID  =  CANID
  。。。。。。。
  canheader.dlc  =  canDlcCaculate (len);
  TCAN4x5x_MCAN_WriteTXBuffer (索引、&canheader 、 pdata);  
  TCAN4x5x_MCAN_TransmitBufferContents (索引);
在:μ s 内处理中断  
如果 (mcan_ir.RF0N)           //如果 RX FIFO 中出现一条新的消息0
{
。。。。。。。。                                ----------------  处于该位置,当上部计算机发送 CAN 数据时、它可以接收数据
if (mcan_ir.TFE TC) //TFE TC TCAN4550               ---------------- 在完成数据发送后未生成中断
 {
    platform_printf ("\n 通过 \n 传送 ");    
    TCAN4x5x_MCAN_ClearInterrupts (&mcan_ir);
此致
凯林
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kailyn:

    我有几个问题。  有两个单独的中断线路可以 TC 分配不同的中断。也许在 RF0N 和 RF0N/TFEE 被分配给哪条线路的配置方面存在问题。  此外、对于 TX 缓冲器传输中断、每个 TX 缓冲器元素都有一个单独的位、必须置位该位才能产生中断。

    以下寄存器的值是多少?

    0x1054–中断使能

    0x1058 -中断线路选择

    0x105C -中断线启用

    0x10E0 - TX 缓冲器发送中断启用

    我假设最可能的原因是寄存器0x10E0没有针对用于传输消息的 TX 缓冲区进行设置。

    如果上述所有寄存器均已正确设置、但您仍然看不到中断、那么您可以在发送消息后确认以下寄存器的值吗?

    0x10D0 -TX 缓冲器添加请求

    0x10CC - TX 缓冲器请求挂起

    0x10D8 -发生 TX 缓冲区添加请求传输

    此致、

    乔纳森

x 出现错误。请重试或与管理员联系。