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
TI中文支持网

