S32K344 RXFIFO Legacy

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

S32K344 RXFIFO Legacy

跳至解决方案
506 次查看
nirmal_masilamani
Contributor IV

Hello Team,

I am working on S32K344 EVB with CAN0, CAN TX and TX working normally. RXFIFO Legacy filter is not working, not getting any interrupt in callback.

I have attached my project here.

标记 (2)
0 项奖励
回复
1 解答
466 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @nirmal_masilamani

Routine and configuration seem fine. Just keep in mind that the filters' field can only be written in Freeze mode; the module blocks it in other modes.

Just move FlexCAN_Ip_SetStartMode() to after configuration:

 

uint16 can_hal_config_init_u16()
{
	uint16 ret_val_u16 = 0U;
		{
			ret_val_u16 = FlexCAN_Ip_Init(CAN_MAIN_INSTANCE, &FlexCAN_State0, &FlexCAN_Config0);
			if(E_OK == ret_val_u16)
			{
				/* Configure TX message buffer with index TX_MSG_ID and TX_MAILBOX*/
				{
					for(uint8 idx = 0U; idx < NO_OF_FILTER_ID; idx++)
					{
						can_rx_fifo_filter_table[idx].isRemoteFrame = false;
						can_rx_fifo_filter_table[idx].isExtendedFrame = false;
						can_rx_fifo_filter_table[idx].id = can_comm_filter_rx_msg_u32[idx];
					}
					FlexCAN_Ip_ConfigRxFifo(CAN_MAIN_INSTANCE,FLEXCAN_RX_FIFO_ID_FORMAT_A, can_rx_fifo_filter_table);
					ret_val_u16 = FlexCAN_Ip_SetStartMode(CAN_MAIN_INSTANCE);
					can_hal_tx_msg_uint16(CAN_MAIN_INSTANCE, 0x18EAE4F4, (uint8 *)&dummyData, CAN_MAIN_TX_MailBox);
					can_hal_start_rx_u16();
				}
			}
	}
	return ret_val_u16;
}

 

Best regards,
Julián

在原帖中查看解决方案

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

Hi @nirmal_masilamani

Routine and configuration seem fine. Just keep in mind that the filters' field can only be written in Freeze mode; the module blocks it in other modes.

Just move FlexCAN_Ip_SetStartMode() to after configuration:

 

uint16 can_hal_config_init_u16()
{
	uint16 ret_val_u16 = 0U;
		{
			ret_val_u16 = FlexCAN_Ip_Init(CAN_MAIN_INSTANCE, &FlexCAN_State0, &FlexCAN_Config0);
			if(E_OK == ret_val_u16)
			{
				/* Configure TX message buffer with index TX_MSG_ID and TX_MAILBOX*/
				{
					for(uint8 idx = 0U; idx < NO_OF_FILTER_ID; idx++)
					{
						can_rx_fifo_filter_table[idx].isRemoteFrame = false;
						can_rx_fifo_filter_table[idx].isExtendedFrame = false;
						can_rx_fifo_filter_table[idx].id = can_comm_filter_rx_msg_u32[idx];
					}
					FlexCAN_Ip_ConfigRxFifo(CAN_MAIN_INSTANCE,FLEXCAN_RX_FIFO_ID_FORMAT_A, can_rx_fifo_filter_table);
					ret_val_u16 = FlexCAN_Ip_SetStartMode(CAN_MAIN_INSTANCE);
					can_hal_tx_msg_uint16(CAN_MAIN_INSTANCE, 0x18EAE4F4, (uint8 *)&dummyData, CAN_MAIN_TX_MailBox);
					can_hal_start_rx_u16();
				}
			}
	}
	return ret_val_u16;
}

 

Best regards,
Julián

0 项奖励
回复
362 次查看
nirmal_masilamani
Contributor IV

Hello @Julián_AragónM ,

Thank you for reply.

标记 (3)
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2181176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K344%20RXFIFO%20%E4%BC%A0%E7%BB%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2181176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E5%9B%A2%E9%98%9F%E3%80%81%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20S32K344%20EVB%EF%BC%8CCAN0%E3%80%81CAN%20TX%20%E5%92%8C%20TX%20%E5%B7%A5%E4%BD%9C%E6%AD%A3%E5%B8%B8%E3%80%82RXFIFO%20%E4%BC%A0%E7%BB%9F%E8%BF%87%E6%BB%A4%E5%99%A8%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%8C%E5%9B%9E%E8%B0%83%E4%B8%AD%E6%9C%AA%E6%94%B6%E5%88%B0%E4%BB%BB%E4%BD%95%E4%B8%AD%E6%96%AD%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E5%9C%A8%E8%BF%99%E9%87%8C%E9%99%84%E4%B8%8A%E4%BA%86%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2187455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20RXFIFO%20Legacy%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2187455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F200831%22%20target%3D%22_blank%22%3E%40Juli%C3%A1n_Arag%C3%B3nM%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2183164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20RXFIFO%20Legacy%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2183164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F233316%22%20target%3D%22_blank%22%3E%40nirmal_masilamani%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E4%BE%8B%E8%A1%8C%E7%A8%8B%E5%BA%8F%E5%92%8C%E9%85%8D%E7%BD%AE%E4%BC%BC%E4%B9%8E%E9%83%BD%E6%B2%A1%E9%97%AE%E9%A2%98%E3%80%82%E8%AF%B7%E6%B3%A8%E6%84%8F%EF%BC%8C%E8%BF%87%E6%BB%A4%E5%99%A8%E5%AD%97%E6%AE%B5%E5%8F%AA%E8%83%BD%E5%9C%A8%E5%86%BB%E7%BB%93%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%86%99%E5%85%A5%EF%BC%9B%E5%9C%A8%E5%85%B6%E4%BB%96%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8C%E6%A8%A1%E5%9D%97%E4%BC%9A%E9%98%BB%E6%AD%A2%E5%86%99%E5%85%A5%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%8F%AA%E9%9C%80%E5%B0%86%20FlexCAN_Ip_SetStartMode()%20%E7%A7%BB%E5%88%B0%E9%85%8D%E7%BD%AE%E4%B9%8B%E5%90%8E%E5%8D%B3%E5%8F%AF%EF%BC%9A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Euint16%20can_hal_config_init_u16()%0A%7B%0A%09uint16%20ret_val_u16%20%3D%200U%3B%0A%09%09%7B%0A%09%09%09ret_val_u16%20%3D%20FlexCAN_Ip_Init(CAN_MAIN_INSTANCE%2C%20%26amp%3BFlexCAN_State0%2C%20%26amp%3BFlexCAN_Config0)%3B%0A%09%09%09if(E_OK%20%3D%3D%20ret_val_u16)%0A%09%09%09%7B%0A%09%09%09%09%2F*%20Configure%20TX%20message%20buffer%20with%20index%20TX_MSG_ID%20and%20TX_MAILBOX*%2F%0A%09%09%09%09%7B%0A%09%09%09%09%09for(uint8%20idx%20%3D%200U%3B%20idx%20%26lt%3B%20NO_OF_FILTER_ID%3B%20idx%2B%2B)%0A%09%09%09%09%09%7B%0A%09%09%09%09%09%09can_rx_fifo_filter_table%5Bidx%5D.isRemoteFrame%20%3D%20false%3B%0A%09%09%09%09%09%09can_rx_fifo_filter_table%5Bidx%5D.isExtendedFrame%20%3D%20false%3B%0A%09%09%09%09%09%09can_rx_fifo_filter_table%5Bidx%5D.id%20%3D%20can_comm_filter_rx_msg_u32%5Bidx%5D%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09FlexCAN_Ip_ConfigRxFifo(CAN_MAIN_INSTANCE%2CFLEXCAN_RX_FIFO_ID_FORMAT_A%2C%20can_rx_fifo_filter_table)%3B%0A%09%09%09%09%09ret_val_u16%20%3D%20FlexCAN_Ip_SetStartMode(CAN_MAIN_INSTANCE)%3B%0A%09%09%09%09%09can_hal_tx_msg_uint16(CAN_MAIN_INSTANCE%2C%200x18EAE4F4%2C%20(uint8%20*)%26amp%3BdummyData%2C%20CAN_MAIN_TX_MailBox)%3B%0A%09%09%09%09%09can_hal_start_rx_u16()%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%7D%0A%09return%20ret_val_u16%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%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%2FP%3E%3C%2FLINGO-BODY%3E