This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28075: About C2000ware Driver library's "can.c"

Part Number: TMS320F28075
Other Parts Discussed in Thread: C2000WARE

Hi all,

The following "can.c" source code is incorrect.

C:\ti\c2000\C2000Ware_1_00_03_00\driverlib\f2807x\driverlib\can.c

The CAN_readMessage() of this source code accesses the CANA register as follows.

//
// Now clear out the new data flag
//
// Transfer the message object to the message object specified by
// objID.
//
HWREG_BP(CANA_BASE + CAN_O_IF2CMD) = CAN_IF2CMD_TXRQST |
(objID & CAN_IF2CMD_MSG_NUM_M);

//
// Wait for busy bit to clear
//
while((HWREGH(CANA_BASE + CAN_O_IF2CMD) & CAN_IF2CMD_BUSY) == CAN_IF2CMD_BUSY)
{
}

That is, this API will not be used for CANB.

However, when calling this API using "Driver.lib", CANB can be used.

In other words, we assume that "can.c" used in "Driver.lib" is different from the above "can.c" I referred to.

Let me know the correct source code of can.c.

Best regards,
Sasaki

  • Hi Sasaki,

    The use of CANA_BASE in the driverlib is incorrect and should be the parameter base passed to the API.

    I will check and correct this for further releases if applicable.

    The correct code should have base instead of CANA_BASE.

    Thanks and Regards

    Harshmeet