Controller Area Network (CAN)
void ROM_CANBitTimingGet (uint32_t ui32Base, tCANBitClkParms ∗psClkParms)
void ROM_CANBitTimingSet (uint32_t ui32Base, tCANBitClkParms ∗psClkParms)
void ROM_CANDisable (uint32_t ui32Base)
void ROM_CANEnable (uint32_t ui32Base)
bool ROM_CANErrCntrGet (uint32_t ui32Base, uint32_t ∗pui32RxCount, uint32_t
∗pui32TxCount)
void ROM_CANInit (uint32_t ui32Base)
void ROM_CANIntClear (uint32_t ui32Base, uint32_t ui32IntClr)
void ROM_CANIntDisable (uint32_t ui32Base, uint32_t ui32IntFlags)
void ROM_CANIntEnable (uint32_t ui32Base, uint32_t ui32IntFlags)
uint32_t ROM_CANIntStatus (uint32_t ui32Base, tCANIntStsReg eIntStsReg)
void ROM_CANMessageClear (uint32_t ui32Base, uint32_t ui32ObjID)
void ROM_CANMessageGet (uint32_t ui32Base, uint32_t ui32ObjID, tCANMsgObject
∗pMsgObject, bool bClrPendingInt)
void ROM_CANMessageSet (uint32_t ui32Base, uint32_t ui32ObjID, tCANMsgObject
∗pMsgObject, tMsgObjType eMsgType)
bool ROM_CANRetryGet (uint32_t ui32Base)
void ROM_CANRetrySet (uint32_t ui32Base, bool bAutoRetry)
uint32_t ROM_CANStatusGet (uint32_t ui32Base, tCANStsReg eStatusReg)
6.2.1 Function Documentation
6.2.1.1 ROM_CANBitRateSet
This function is used to set the CAN bit timing values to a nominal setting based on a desired bit
rate.
Prototype:
uint32_t
ROM_CANBitRateSet(uint32_t ui32Base,
uint32_t ui32SourceClock,
uint32_t ui32BitRate)
ROM Location:
ROM_APITABLE is an array of pointers located at 0x0100.0010.
ROM_CANTABLE is an array of pointers located at ROM_APITABLE[18].
ROM_CANBitRateSet is a function pointer located at ROM_CANTABLE[16].
Parameters:
ui32Base is the base address of the CAN controller.
ui32SourceClock is the system clock for the device in Hz.
ui32BitRate is the desired bit rate.
Description:
This function will set the CAN bit timing for the bit rate passed in the ui32BitRate parame-
ter based on the ui32SourceClock parameter. Since the CAN clock is based off of the sys-
tem clock the calling function should pass in the source clock rate either by retrieving it from
ROM_SysCtlClockGet() or using a specific value in Hz. The CAN bit timing is calculated as-
suming a minimal amount of propagation delay, which will work for most cases where the
April 8, 2013 55