Acrosser AR-B6051 User Manual

Page 44

Advertising
background image

}

To transmit a CAN packet, the programmer has to fill in the fields in the variable of type CanMsg and

pass this CanMsg variable as an argument to invoke the APIs. The fields in CAN message are described

below:

id:

This field holds the ID information of the CAN packet. In a ‘Standard Data Frame’ CAN packet,

the ID field consists of 11 bits of binary digitals. In an ‘Extended Data Frame’ CAN packet, the ID field

consists of 29 bits of binary digitals. That the CAN packet is a ‘Standard Data Frame’ packet or an

‘Extended Data Frame’ packet is determined by the ‘id_type’ field in the CanMsg variable.

The ‘id’ field in the CanMsg variable is a 32-bit long space. If a CanMsg variable is configured as a

‘Standard Data Frame’ CAN packet, the bit[0] ~ bit[10] in the ‘id’ field is the ID of the CAN packet. The

bit[11] ~ bit[31] are ignored when the APIs in the library processing the CanMsg variable.

If a CanMsg variable is configured as an ‘Extended Data Frame’ CAN packet, the bit[0] ~ bit[28]

in the ‘id’ field is the ID of the CAN packet. The bit[29] ~ bit[31] are ignored when the APIs in the

library processing the CanMsg variable.

id_type:

This field identifies that the CAN packet is a ‘Standard Data Frame’ CAN packet or a ‘Extended

Data Frame’ CAN packet:

struct CanMsg canMsg;

canMsg.id_type = EXT_ID; // A ‘Extended Data Frame’ packet

canMsg.id_type = STD_ID; // A ‘Standard Data Frame’ packet

length:

This field identifies the number of data bytes in the next field ‘data[8]’ which are filled with

effective data. Because the ‘data’ field is an 8-byte long array, the range of this field ‘length’ is 0 ~ 8.

data[8]:

This array of data will be filled with effective data.

44

Advertising