CAN Message Transmission Function in C - int CAN_TX(uint32 DataHigh, uint32 DataLow, uint32 ID)
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 ;
}
原文地址: https://www.cveoy.top/t/topic/n5mV 著作权归作者所有。请勿转载和采集!