CAN communication function
|
Function name |
Function |
|
Enable CAN communication |
|
|
Close CAN communication |
|
|
Set CAN communication rate |
|
|
Set the ID filter |
|
|
Receive CAN data |
|
|
Send CAN data |
[Description]
Enable CAN communication
Normal return value =0, error return value <0
[Usage]
int onCanxStart(PortID);
[Example]
int PortID , Result;
PortID = 0; //0:COM0 1:COM1
Result = 0;
Result = onCanxStart (PortID);
[Description]
Close CAN communication
Normal returns 0, error returns non-0
[Usage]
int onCanxstop (PortID);
[Example]
int PortID , Result;
PortID = 0; //0:COM0 1:COM1
Result = 0;
Result = onCanxstop (PortID);
[Description]
Set CAN communication rate
Normal returns 0, error returns non-0
[Usage]
int setBitrate (Bitrate,PortID);
[Example]
int PortID, Bitrate, Result;
PortID = 0; //0:COM0 1:COM1
Bitrate = 5*1000; // Set the baud rate 5K set range 5K 10K 20K maximum to 1M
Result = 0;
Result = setBitrate ( Bitrate, PortID )// COM0 sets the communication rate to 5000
[Description]
Set the ID filter
Normal returns 0, error returns non-0
[Usage]
int addFillter ( CanID, CanMask, PortID );
[Example]
Int PortID, Result, CanID, CanMask;
PortID = 0; //0:COM0 1:COM1
Result = 0;
CanID = 0x11; // Set the filter start ID number
CanMask = 0x11; // Set the filter end ID number, and start and end can be the same
Result = addFillter ( CanID, CanMask, PortID ); // Set to receive only data with CAN ID 0x11 normally returns 0 error returns non-0 value
[Description]
Receive CAN data
Normal return received data length, error return data length <0
[Usage]
int reciveData ( data, Len, PortID, &CanId )
[Example]
int PortID, Result, Len;
unsigned int CanId;
unsigned char data[128]; // Receive data buffer
PortID = 0; //0:COM0 1:COM1
Len = 128; // Receive buffer length
Result = reciveData ( ( unsigned char * ) data, Len, PortID, &CanId );
6、sendData
[Description]
Send CAN data
Normal returns 0, error returns non-0
[Usage]
int sendData ( data, Len, PortID, CanId, CanType )
[Example]
int PortID, Result, Len, CanType, CanId, i;
unsigned char data[128];
PortID = 0; //0:COM0 1:COM1
Result = 0;
Len = 8;
CanId = 0x22;
CanType = 0; // Frame type: standard frame: 0 extended frame:0x80000000
for ( i = 0; i < Len; ++i )
{
data[i] = i;
}
Result = sendData ( ( unsigned char * ) data, Len, PortID, CanId, CanType );// Standard frame, COM0 sends data data, length 127,CAN ID 0x22