This function is used to transmit CAN messages with a specified ID and data. It initializes a message object with the given ID and acceptance mask, and then sends a message with the specified data using the initialized message object. The function returns a value of 1 if the message was successfully sent, and 0 otherwise.

int CAN_TX(uint32 DataHigh , uint32 DataLow ,uint32 ID)
{
	int ret = 0;
//*****************initial*************
	   {
	       // create message object config
	       IfxMultican_Can_MsgObjConfig canMsgObjConfig;
	       IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig, &canSrcNode);

	       // assigned message object:
	              canMsgObjConfig.msgObjId = 0;
	              canMsgObjConfig.messageId = ID; // 'id' is defined globally
	              canMsgObjConfig.acceptanceMask = 0x7FFFFFFFUL;
	              canMsgObjConfig.frame = IfxMultican_Frame_transmit;
	              canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
	              canMsgObjConfig.control.extendedFrame = FALSE;
	              canMsgObjConfig.control.matchingId = TRUE;

	              // initialize message object
	              IfxMultican_Can_MsgObj_init(&canSrcMsgObj, &canMsgObjConfig);
	    }//
		// Transmit Data DataLow DataHigh
	   {
			IfxMultican_Message_init(&txMsg, ID, DataLow, DataHigh, IfxMultican_DataLengthCode_8);
			// Transmit Data
			while( IfxMultican_Can_MsgObj_sendMessage(&canSrcMsgObj, &txMsg) == IfxMultican_Status_ok )
			{
				ret = 1;
			}
	   }//
return ret ;
}
CAN Message Transmission Function in C - int CAN_TX(uint32 DataHigh, uint32 DataLow, uint32 ID)

原文地址: https://www.cveoy.top/t/topic/n5mV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录