Acrosser AR-B6051 User Manual
Page 49
![background image](/manuals/732839/49/background.png)
if( result != 0)
fprintf( stderr, “Fail to receive CAN packets!\n”);
6. Syntax:
i32 getCanMask(struct CanMask *mask)
Description: This function gets the current setting of the acceptance masks. Masks are used to
determine which bits in the ID field of the CAN packet are examined with the filters. There are two
acceptance masks (mask0 and mask1) and six acceptance filters (filter0 ~ filter5) in the CAN Bus
subsystem. Filter0 ~ filter1 are associated with mask0. Filter2 ~ filter4 are associated with mask1.
Here is the Mask/Filter truth table:
Mask bit
n
Filter bit
n
Message
ID bit n
Accept or reject bit n
0
x x
Accept
1
0
0
Accept
1
0
1
Reject
1
1
0
Reject
1
1
1
Accept
Note: x = don’t care
Parameters: This parameter ‘mask’ is a pointer to a variable of type ‘CanMask’.
Users use the
field ‘maskId’ to indicate the mask they want and the API put the
setting of the mask in the ‘mask’
field.
struct CanMask {
u8 maskId; // 0 or 1
u32
mask;
}
Return Value: If this function receives the mask setting successfully, it returns 0, any other
returned value stands for error.
For
example:
struct CanMask a_mask;
a_mask.maskId = 0; // indicate the mask0
49