static void fnConfigCAN_BUS(void)
{
CANTABLE tCANParameters; // table for passing information to driver
tCANParameters.Task_to_wake = OWN_TASK; // wake us on buffer events
tCANParameters.Channel = 0; // first hardware interface
tCANParameters.ulSpeed = 100000; // 100K speed
tCANParameters.ulTxID = 0x80; // default ID of destination
tCANParameters.ulRxID = (CAN_EXTENDED_ID | 0x00000105); // our ID
tCANParameters.ulRxIDMask = CAN_EXTENDED_MASK;
// use all bits for compare
tCANParameters.usMode = 0x01; // use lpb mode
tCANParameters.ucTxBuffers = 2; // assign two tx buffers for use
tCANParameters.ucRxBuffers = 3; // assign three rx buffers for use
CAN_interface_ID = fnOpen( TYPE_CAN, FOR_I_O, &tCANParameters );
}
static void fnSENDCAN_BUS(void)
{
unsigned char ucTestMessage[] = {1,2,3,4,5,6,7}; // Test message
if (fnWrite(CAN_interface_ID, ucTestMessage, sizeof(ucTestMessage))
!= sizeof(ucTestMessage)) {
// Error. Eg. no transmission buffer free
fnDebugMsg("\n\r SENT ERROR\n\r");
}
tCANParameters.usMode = 0x01; // use lpb mode
this is the CAN_LOOPBACK,and the fnWrite(CAN_interface_ID, ucTestMessage, sizeof(ucTestMessage)) is OK!
but I can't get anything from the CAN-BUS using the OSCILLOSCOPE!
what about the tCANParameters.Channel = 0; // first hardware interface
the 52235 have more CANTX and CANRX ,now we are use the PASPAR |= 0xa0; // configure AS port 2,3 as CAN
I don't sure the set #define NUMBER_CAN 3,now WE are use the #define NUMBER_CAN 2.
how can I get the data?
?? I don't know!