S32K358 CAN RTD Watermark

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S32K358 CAN RTD Watermark

跳至解决方案
2,502 次查看
Greavesinator85
Contributor III

I'm trying to use the FlexCAN_Ip RTD drivers for an efficient CAN receive loop. I've been able to do this with FreeRTOS, using interrupt mode and enhanced RX. In this mode, I configure watermark to be 8, but in my FlexCAN_UserCallback only FLEXCAN_EVENT_ENHANCED_RXFIFO_COMPLETE fires, and if I do not add a call to FlexCAN_Ip_RxFifo when this happens, no more interrupts fire. 

 

How am I meant to use watermark mode? Is it only available with DMA?

0 项奖励
回复
1 解答
2,434 次查看
Greavesinator85
Contributor III

I now have this working. The qualifiers around the buffer was key to avoid the corruption;

__attribute__(( aligned(32) )) static Flexcan_Ip_MsgBuffType gEnhancedRxFifoBuffer[ENHANCED_RXFIFO_WATERMARK] __attribute__ ((section (".mcal_bss_no_cacheable")));

 

Thanks for all your help!

在原帖中查看解决方案

6 回复数
2,435 次查看
Greavesinator85
Contributor III

I now have this working. The qualifiers around the buffer was key to avoid the corruption;

__attribute__(( aligned(32) )) static Flexcan_Ip_MsgBuffType gEnhancedRxFifoBuffer[ENHANCED_RXFIFO_WATERMARK] __attribute__ ((section (".mcal_bss_no_cacheable")));

 

Thanks for all your help!

2,441 次查看
Greavesinator85
Contributor III

Apologies for the spam, I'm just actively debugging this. Setting FlexCAN_Ip_RxFifo before FlexCAN_Ip_SetStartMode has solved the EDMA->ES is set to SBE_1 error. Now I am investigating why the buffer is not holding the correct data. I'm sending ID 0x200 with 64 bytes counting up. I see some of this counting data but it is in chunks and can be missing large pieces, generally looks corrupted, and the address ID is always 0

0 项奖励
回复
2,441 次查看
Greavesinator85
Contributor III

Looks like after FlexCAN_Ip_SetStartMode, EDMA->ES is set to SBE_1

0 项奖励
回复
2,441 次查看
Greavesinator85
Contributor III

Ok, I have the DMA working in my application, thanks for your help. The example pointed me to Dma_Mux_IP_init which I was missing.

Now I do get the interrupt when it works, the first call to FlexCAN_Ip_RxFifo may pass or fail, but everything is smooth beyond that. This failure is at Static_Dma_Ip_GetLogicChannelError inside Dma_Ip_SetLogicChannelTransferList. I am using FreeRTOS as mentioned, any idea why this might be occurring? LocChState->LogicChErrors is returning 0x80000002

Also, I'm testing with 1 buffer, but the data seems corrupt, i.e. the ID is never correct

0 项奖励
回复
2,475 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Greavesinator85,

RTD driver is written in a way you need to call FlexCAN_Ip_RxFifo first, an interrupt is called once there is at least 1 message in the RXFIFO, driver reads single message from RXFIFO, and user has to call FlexCAN_Ip_RxFifo to enable interrupt again.

This was previously discussed with a colleague in this community post: Solved: S32K344 Using FlexCAN with RX FIFO and Interrupts - NXP Community.

You can refer to the routine below for enhanced RXFIFO configuration with watermark: Example S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO DMA test S32DS3.5 RTD400 - NXP Community. It does also configure DMA, though.

Best regards,
Julián

0 项奖励
回复
2,448 次查看
Greavesinator85
Contributor III

Ok, so interrupt mode is working as expected in my case, where there is no way to use the watermark feature, as FlexCAN_Ip_RxFifo must be called on each interrupt. At max can speeds I see my RXTask taking up to 20% CPU time which is not acceptable.

 

I will try to use the example. I have refreshed it with my RTD 6.0.0 but I do not see any interrupts firing, I will investigate. I also see Rm_Init is not found?

I will look into DMA today to see if it can offer improvements. I am still unclear, will DMA only notify me once my watermark of messages  (8) is received?

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2200213%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K358%20CAN%20RTD%20%E6%B0%B4%E5%8D%B0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200213%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20FlexCAN_Ip%20RTD%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%9D%A5%E5%AE%9E%E7%8E%B0%E9%AB%98%E6%95%88%E7%9A%84%20CAN%20%E6%8E%A5%E6%94%B6%E5%9B%9E%E8%B7%AF%E3%80%82%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20FreeRTOS%20%E7%9A%84%E4%B8%AD%E6%96%AD%E6%A8%A1%E5%BC%8F%E5%92%8C%E5%A2%9E%E5%BC%BA%E5%9E%8B%20RX%20%E6%9D%A5%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%E3%80%82%E5%9C%A8%E8%BF%99%E7%A7%8D%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8C%E6%88%91%E5%B0%86%E6%B0%B4%E5%8D%B0%E9%85%8D%E7%BD%AE%E4%B8%BA%208%EF%BC%8C%E4%BD%86%E5%9C%A8%E6%88%91%E7%9A%84%20FlexCAN_UserCallback%20%E4%B8%AD%EF%BC%8C%E5%8F%AA%E6%9C%89%3CSPAN%3EFLEXCAN_EVENT_ENHANCED_RXFIFO_COMPLETE%20%E4%BC%9A%E8%A7%A6%E5%8F%91%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%9C%A8%E5%8F%91%E7%94%9F%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E6%97%B6%E6%88%91%E4%B8%8D%E6%B7%BB%E5%8A%A0%E5%AF%B9%20FlexCAN_Ip_RxFifo%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%86%8D%E8%A7%A6%E5%8F%91%E4%B8%AD%E6%96%AD%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%B0%B4%E5%8D%B0%E6%A8%A1%E5%BC%8F%EF%BC%9F%E6%98%AF%E5%90%A6%E5%8F%AA%E6%9C%89%20DMA%20%E6%89%8D%E8%83%BD%E4%BD%BF%E7%94%A8%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200868%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200868%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E4%BA%86%E3%80%82%E7%BC%93%E5%86%B2%E5%8C%BA%E5%91%A8%E5%9B%B4%E7%9A%84%E9%99%90%E5%AE%9A%E7%AC%A6%E6%98%AF%E9%81%BF%E5%85%8D%E6%8D%9F%E5%9D%8F%E7%9A%84%E5%85%B3%E9%94%AE%EF%BC%9B%3C%2FP%3E%3CP%3E__attribute__((%20aligned(32)%20))%20static%20Flexcan_Ip_MsgBuffType%20gEnhancedRxFifoBuffer%5BENHANCED_RXFIFO_WATERMARK%5D__attribute__%20((section%20(%22.mcal_bss_no_cacheable%22)))%EF%BC%9B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E4%BD%A0%E4%BB%AC%E7%9A%84%E5%B8%AE%E5%8A%A9%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200842%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200842%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%AF%B9%E5%9E%83%E5%9C%BE%E9%82%AE%E4%BB%B6%E8%A1%A8%E7%A4%BA%E6%AD%89%E6%84%8F%EF%BC%8C%E6%88%91%E6%AD%A3%E5%9C%A8%E7%A7%AF%E6%9E%81%E8%B0%83%E8%AF%95%E3%80%82%E5%9C%A8%20%3CSTRONG%3Eflexcan_IP_setStartMode%20%E4%B9%8B%E5%89%8D%E8%AE%BE%E7%BD%AE%20flexcan_IP_rxFIFO%3C%2FSTRONG%3E%20%3CSPAN%3E%E5%B7%B2%E7%BB%8F%E8%A7%A3%E5%86%B3%E4%BA%86%20EDMA-%26gt%3B%20ES%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20SBE_1%20%E7%9A%84%E9%94%99%E8%AF%AF%E3%80%82%E7%8E%B0%E5%9C%A8%E6%88%91%E6%AD%A3%E5%9C%A8%E8%B0%83%E6%9F%A5%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BC%93%E5%86%B2%E5%8C%BA%E6%B2%A1%E6%9C%89%E4%BF%9D%E5%AD%98%E6%AD%A3%E7%A1%AE%E7%9A%84%E6%95%B0%E6%8D%AE%E3%80%82%E6%88%91%E6%AD%A3%E5%9C%A8%E5%8F%91%E9%80%81%20ID%200x200%EF%BC%8C%E5%85%B6%E4%B8%AD%E8%AE%A1%E6%95%B0%E4%B8%BA%2064%20%E5%AD%97%E8%8A%82%E3%80%82%E6%88%91%E7%9C%8B%E5%88%B0%E4%BA%86%E4%B8%80%E4%BA%9B%E8%AE%A1%E6%95%B0%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%BD%86%E5%AE%83%E6%98%AF%E6%88%90%E5%9D%97%E7%9A%84%EF%BC%8C%E5%8F%AF%E8%83%BD%E7%BC%BA%E5%B0%91%E5%A4%A7%E5%9D%97%EF%BC%8C%E9%80%9A%E5%B8%B8%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%B7%B2%E6%8D%9F%E5%9D%8F%EF%BC%8C%E5%9C%B0%E5%9D%80%20ID%20%E5%A7%8B%E7%BB%88%E4%B8%BA%200%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200838%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200838%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%9C%A8%20FlexCAN_Ip_SetStartMode%20%E4%B9%8B%E5%90%8E%EF%BC%8CEDMA-%26gt%3BES%20%E8%A2%AB%E8%AE%BE%E7%BD%AE%E4%B8%BA%20SBE_1%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200833%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200833%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A5%BD%E4%BA%86%EF%BC%8C%E6%88%91%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%E7%9A%84%20DMA%20%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E4%BA%86%EF%BC%8C%E8%B0%A2%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%AE%E5%8A%A9%E3%80%82%E7%A4%BA%E4%BE%8B%E7%BB%99%E6%88%91%E6%8C%87%E5%87%BA%E4%BA%86%20Dma_Mux_IP_init%EF%BC%8C%E8%80%8C%E6%88%91%E5%8D%B4%E5%BF%BD%E7%95%A5%E4%BA%86%E8%BF%99%E4%B8%80%E7%82%B9%E3%80%82%3C%2FP%3E%3CP%3E%E7%8E%B0%E5%9C%A8%EF%BC%8C%E5%BD%93%E5%AE%83%E5%B7%A5%E4%BD%9C%E6%97%B6%EF%BC%8C%E6%88%91%E7%A1%AE%E5%AE%9E%E6%94%B6%E5%88%B0%E4%BA%86%E4%B8%AD%E6%96%AD%EF%BC%8C%E5%AF%B9%20FlexCAN_Ip_RxFifo%20%E7%9A%84%E7%AC%AC%E4%B8%80%E6%AC%A1%E8%B0%83%E7%94%A8%E5%8F%AF%E8%83%BD%E9%80%9A%E8%BF%87%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E5%A4%B1%E8%B4%A5%EF%BC%8C%E4%BD%86%E9%99%A4%E6%AD%A4%E4%B9%8B%E5%A4%96%E4%B8%80%E5%88%87%E9%83%BD%E5%BE%88%E9%A1%BA%E5%88%A9%E3%80%82%E8%AF%A5%E6%95%85%E9%9A%9C%E5%8F%91%E7%94%9F%E5%9C%A8%20Dma_Ip_SetLogicChannelTransferList%20%E5%86%85%E7%9A%84%20Static_Dma_Ip_GetLogicChannelError%20%E5%A4%84%E3%80%82%E5%A6%82%E5%89%8D%E6%89%80%E8%BF%B0%EF%BC%8C%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20FreeRTOS%EF%BC%8C%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E5%90%97%EF%BC%9F%20LocChState-%26gt%3BLogicChErrors%20%E8%BF%94%E5%9B%9E%200x80000002%3C%2FP%3E%3CP%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E6%88%91%E4%BD%BF%E7%94%A8%201%20%E4%B8%AA%E7%BC%93%E5%86%B2%E5%8C%BA%E8%BF%9B%E8%A1%8C%E6%B5%8B%E8%AF%95%EF%BC%8C%E4%BD%86%E6%95%B0%E6%8D%AE%E4%BC%BC%E4%B9%8E%E5%B7%B2%E6%8D%9F%E5%9D%8F%EF%BC%8C%E5%8D%B3%20ID%20%E5%A7%8B%E7%BB%88%E4%B8%8D%E6%AD%A3%E7%A1%AE%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200751%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200751%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A5%BD%E4%BA%86%EF%BC%8C%E5%9C%A8%E6%88%91%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%B8%AD%E6%96%AD%E6%A8%A1%E5%BC%8F%E5%A6%82%E6%9C%9F%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%B0%B4%E5%8D%B0%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%9B%A0%E4%B8%BA%20%E6%AF%8F%E6%AC%A1%E4%B8%AD%E6%96%AD%E6%97%B6%E9%83%BD%E5%BF%85%E9%A1%BB%E8%B0%83%E7%94%A8%20%3CSTRONG%3EFlexCAN_Ip_RxFifo%E3%80%82%3C%2FSTRONG%3E%3CSPAN%3E%20%E5%9C%A8%E6%9C%80%E5%A4%A7%E9%80%9F%E5%BA%A6%E4%B8%8B%EF%BC%8C%E6%88%91%E7%9C%8B%E5%88%B0%E6%88%91%E7%9A%84%20RXTask%20%E5%8D%A0%E7%94%A8%E4%BA%86%E5%A4%9A%E8%BE%BE%2020%25%20%E7%9A%84%20CPU%20%E6%97%B6%E9%97%B4%EF%BC%8C%E8%BF%99%E6%98%AF%E4%B8%8D%E5%85%81%E8%AE%B8%E7%9A%84%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E6%88%91%E8%AF%95%E7%9D%80%E4%B8%BE%E4%B8%AA%E4%BE%8B%E5%AD%90%E3%80%82%E6%88%91%E7%94%A8%20RTD%206.0.0%20%E6%9B%B4%E6%96%B0%E4%BA%86%E5%AE%83%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E7%9C%8B%E5%88%B0%E4%BB%BB%E4%BD%95%E4%B8%AD%E6%96%AD%E8%A7%A6%E5%8F%91%EF%BC%8C%E6%88%91%E5%B0%86%E8%BF%9B%E8%A1%8C%E8%B0%83%E6%9F%A5%E3%80%82%E6%88%91%E8%BF%98%E5%8F%91%E7%8E%B0%E6%89%BE%E4%B8%8D%E5%88%B0%20Rm_Init%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%8A%E5%A4%A9%E4%BC%9A%E7%A0%94%E7%A9%B6%E4%B8%80%E4%B8%8B%20DMA%EF%BC%8C%E7%9C%8B%E7%9C%8B%E5%AE%83%E6%98%AF%E5%90%A6%E8%83%BD%E6%8F%90%E4%BE%9B%E6%94%B9%E8%BF%9B%E3%80%82%E6%88%91%E8%BF%98%E4%B8%8D%E6%B8%85%E6%A5%9A%EF%BC%8CDMA%20%E6%98%AF%E5%90%A6%E5%8F%AA%E6%9C%89%E5%9C%A8%E6%94%B6%E5%88%B0%E6%88%91%E7%9A%84%E4%BF%A1%E6%81%AF%E6%B0%B4%E5%8D%B0%EF%BC%888%EF%BC%89%E5%90%8E%E6%89%8D%E4%BC%9A%E9%80%9A%E7%9F%A5%E6%88%91%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2200355%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K358%20CAN%20RTD%20Watermark%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200355%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256454%22%20target%3D%22_blank%22%3E%40Greavesinator85%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ERTD%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%BC%96%E5%86%99%E6%96%B9%E5%BC%8F%E6%98%AF%EF%BC%8C%E6%82%A8%E9%9C%80%E8%A6%81%E5%85%88%E8%B0%83%E7%94%A8%20%3C%2FSPAN%3E%3CSPAN%3E%3CSTRONG%3EFlexCAN_Ip_RxFifo%3C%2FSTRONG%3E%E3%80%81%20%3C%2FSPAN%3E%3CSPAN%3E%E4%B8%80%E6%97%A6%20RXFIFO%20%E4%B8%AD%E8%87%B3%E5%B0%91%E6%9C%89%E4%B8%80%E4%B8%AA%E6%8A%A5%E6%96%87%EF%BC%8C%E5%B0%B1%E4%BC%9A%E8%B0%83%E7%94%A8%E4%B8%AD%E6%96%AD%EF%BC%8C%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%BB%8E%20RXFIFO%20%E4%B8%AD%E8%AF%BB%E5%8F%96%E5%8D%95%E4%B8%AA%E6%8A%A5%E6%96%87%EF%BC%8C%E7%84%B6%E5%90%8E%E7%94%A8%E6%88%B7%E5%BF%85%E9%A1%BB%E5%86%8D%E6%AC%A1%E8%B0%83%E7%94%A8%20%3C%2FSPAN%3E%3CSPAN%3E%3CSTRONG%3EFlexCAN_Ip_RxFifo%3C%2FSTRONG%3E%E4%BB%A5%E5%86%8D%E6%AC%A1%E5%90%AF%E7%94%A8%E4%B8%AD%E6%96%AD%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E4%B9%8B%E5%89%8D%E6%9B%BE%E5%9C%A8%E6%AD%A4%E7%A4%BE%E5%8C%BA%E5%B8%96%E5%AD%90%E4%B8%AD%E4%B8%8E%E4%B8%80%E4%BD%8D%E5%90%8C%E4%BA%8B%E8%AE%A8%E8%AE%BA%E8%BF%87%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9A%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K344-Using-FlexCAN-with-RX-FIFO-and-Interrupts%2Fm-p%2F1543382%22%20target%3D%22_blank%22%3E%E5%B7%B2%E8%A7%A3%E5%86%B3%EF%BC%9AS32K344%20%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%20RX%20FIFO%20%E5%92%8C%E4%B8%AD%E6%96%AD%E7%9A%84%20FlexCAN%20-%20NXP%20%E7%A4%BE%E5%8C%BA%3C%2FA%3E%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%8F%82%E8%80%83%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BE%8B%E7%A8%8B%EF%BC%8C%E8%BF%9B%E8%A1%8C%E5%B8%A6%E6%B0%B4%E5%8D%B0%E7%9A%84%E5%A2%9E%E5%BC%BA%E5%9E%8B%20RXFIFO%20%E9%85%8D%E7%BD%AE%EF%BC%9A%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-DMA-test-S32DS3-5%2Fta-p%2F2015832%22%20target%3D%22_blank%22%3E%E7%A4%BA%E4%BE%8B%20S32K344%20FlexCAN_Ip%20TX%2FRX%2FEnhanceRXFIFO%20DMA%20%E6%B5%8B%E8%AF%95%20S32DS3.5%20RTD400%20-%20NXP%20Community%3C%2FA%3E.%E4%B8%8D%E8%BF%87%EF%BC%8C%E5%AE%83%E4%B9%9F%E9%85%8D%E7%BD%AE%E4%BA%86%20DMA%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E