S32K344 RXFIFO Legacy

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K344 RXFIFO Legacy

ソリューションへジャンプ
508件の閲覧回数
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 解決策
468件の閲覧回数
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 返答(返信)
469件の閲覧回数
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 件の賞賛
返信
364件の閲覧回数
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%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2181176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AE%E7%9A%86%E3%81%95%E3%82%93%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AF%E3%80%81CAN0%E3%80%81CAN%20TX%E3%80%81TX%20%E3%81%8C%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%20S32K344%20EVB%20%E3%81%A7%E4%BD%9C%E6%A5%AD%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82RXFIFO%20%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%20%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%9B%E3%81%9A%E3%80%81%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%A7%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E3%81%93%E3%81%93%E3%81%AB%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%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%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%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%20%E3%80%81%3C%2FP%3E%3CP%3E%E3%81%94%E8%BF%94%E4%BF%A1%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%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%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%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%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3%E3%81%A8%E6%A7%8B%E6%88%90%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AF%E3%83%95%E3%83%AA%E3%83%BC%E3%82%BA%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AE%E3%81%BF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80CAN%E3%80%81%E4%BB%96%E3%81%AE%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%A8%AD%E5%AE%9A%E5%BE%8C%E3%81%AB%20FlexCAN_Ip_SetStartMode()%20%E3%82%92%E6%AC%A1%E3%81%AE%E5%A0%B4%E6%89%80%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%E3%80%82%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%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%81%3CBR%20%2F%3E%E3%82%B8%E3%83%A5%E3%83%AA%E3%82%A2%E3%83%B3%3C%2FP%3E%3C%2FLINGO-BODY%3E