STM32F10x Standard Peripherals Library  3.5.0
CAN_Exported_Functions

Functions

void CAN_DeInit (CAN_TypeDef *CANx)
 Deinitializes the CAN peripheral registers to their default reset values.
uint8_t CAN_Init (CAN_TypeDef *CANx, CAN_InitTypeDef *CAN_InitStruct)
 Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct.
void CAN_FilterInit (CAN_FilterInitTypeDef *CAN_FilterInitStruct)
 Initializes the CAN peripheral according to the specified parameters in the CAN_FilterInitStruct.
void CAN_StructInit (CAN_InitTypeDef *CAN_InitStruct)
 Fills each CAN_InitStruct member with its default value.
void CAN_SlaveStartBank (uint8_t CAN_BankNumber)
 Select the start bank filter for slave CAN.
void CAN_DBGFreeze (CAN_TypeDef *CANx, FunctionalState NewState)
 Enables or disables the DBG Freeze for CAN.
void CAN_TTComModeCmd (CAN_TypeDef *CANx, FunctionalState NewState)
 Enables or disabes the CAN Time TriggerOperation communication mode.
uint8_t CAN_Transmit (CAN_TypeDef *CANx, CanTxMsg *TxMessage)
 Initiates the transmission of a message.
uint8_t CAN_TransmitStatus (CAN_TypeDef *CANx, uint8_t TransmitMailbox)
 Checks the transmission of a message.
void CAN_CancelTransmit (CAN_TypeDef *CANx, uint8_t Mailbox)
 Cancels a transmit request.
void CAN_Receive (CAN_TypeDef *CANx, uint8_t FIFONumber, CanRxMsg *RxMessage)
 Receives a message.
void CAN_FIFORelease (CAN_TypeDef *CANx, uint8_t FIFONumber)
 Releases the specified FIFO.
uint8_t CAN_MessagePending (CAN_TypeDef *CANx, uint8_t FIFONumber)
 Returns the number of pending messages.
uint8_t CAN_OperatingModeRequest (CAN_TypeDef *CANx, uint8_t CAN_OperatingMode)
 Select the CAN Operation mode.
uint8_t CAN_Sleep (CAN_TypeDef *CANx)
 Enters the low power mode.
uint8_t CAN_WakeUp (CAN_TypeDef *CANx)
 Wakes the CAN up.
uint8_t CAN_GetLastErrorCode (CAN_TypeDef *CANx)
 Returns the CANx's last error code (LEC).
uint8_t CAN_GetReceiveErrorCounter (CAN_TypeDef *CANx)
 Returns the CANx Receive Error Counter (REC).
uint8_t CAN_GetLSBTransmitErrorCounter (CAN_TypeDef *CANx)
 Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC).
void CAN_ITConfig (CAN_TypeDef *CANx, uint32_t CAN_IT, FunctionalState NewState)
 Enables or disables the specified CANx interrupts.
FlagStatus CAN_GetFlagStatus (CAN_TypeDef *CANx, uint32_t CAN_FLAG)
 Checks whether the specified CAN flag is set or not.
void CAN_ClearFlag (CAN_TypeDef *CANx, uint32_t CAN_FLAG)
 Clears the CAN's pending flags.
ITStatus CAN_GetITStatus (CAN_TypeDef *CANx, uint32_t CAN_IT)
 Checks whether the specified CANx interrupt has occurred or not.
void CAN_ClearITPendingBit (CAN_TypeDef *CANx, uint32_t CAN_IT)
 Clears the CANx's interrupt pending bits.

Function Documentation

void CAN_CancelTransmit ( CAN_TypeDef CANx,
uint8_t  Mailbox 
)

Cancels a transmit request.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Mailbox,:Mailbox number.
Return values:
None.

Definition at line 643 of file stm32f10x_can.c.

void CAN_ClearFlag ( CAN_TypeDef CANx,
uint32_t  CAN_FLAG 
)

Clears the CAN's pending flags.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_FLAG,:specifies the flag to clear. This parameter can be one of the following flags:
  • CAN_FLAG_RQCP0
  • CAN_FLAG_RQCP1
  • CAN_FLAG_RQCP2
  • CAN_FLAG_FF1
  • CAN_FLAG_FOV1
  • CAN_FLAG_FF0
  • CAN_FLAG_FOV0
  • CAN_FLAG_WKU
  • CAN_FLAG_SLAK
  • CAN_FLAG_LEC
Return values:
None.

Definition at line 1143 of file stm32f10x_can.c.

void CAN_ClearITPendingBit ( CAN_TypeDef CANx,
uint32_t  CAN_IT 
)

Clears the CANx's interrupt pending bits.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_IT,:specifies the interrupt pending bit to clear.
  • CAN_IT_TME
  • CAN_IT_FF0
  • CAN_IT_FOV0
  • CAN_IT_FF1
  • CAN_IT_FOV1
  • CAN_IT_WKU
  • CAN_IT_SLK
  • CAN_IT_EWG
  • CAN_IT_EPV
  • CAN_IT_BOF
  • CAN_IT_LEC
  • CAN_IT_ERR
Return values:
None.

Definition at line 1306 of file stm32f10x_can.c.

void CAN_DBGFreeze ( CAN_TypeDef CANx,
FunctionalState  NewState 
)

Enables or disables the DBG Freeze for CAN.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
NewState,:new state of the CAN peripheral. This parameter can be: ENABLE or DISABLE.
Return values:
None.

Definition at line 451 of file stm32f10x_can.c.

void CAN_DeInit ( CAN_TypeDef CANx)

Deinitializes the CAN peripheral registers to their default reset values.

Parameters:
CANx,:where x can be 1 or 2 to select the CAN peripheral.
Return values:
None.

Definition at line 122 of file stm32f10x_can.c.

void CAN_FIFORelease ( CAN_TypeDef CANx,
uint8_t  FIFONumber 
)

Releases the specified FIFO.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
FIFONumber,:FIFO to release, CAN_FIFO0 or CAN_FIFO1.
Return values:
None.

Definition at line 720 of file stm32f10x_can.c.

void CAN_FilterInit ( CAN_FilterInitTypeDef CAN_FilterInitStruct)

Initializes the CAN peripheral according to the specified parameters in the CAN_FilterInitStruct.

Parameters:
CAN_FilterInitStruct,:pointer to a CAN_FilterInitTypeDef structure that contains the configuration information.
Return values:
None.

Definition at line 292 of file stm32f10x_can.c.

FlagStatus CAN_GetFlagStatus ( CAN_TypeDef CANx,
uint32_t  CAN_FLAG 
)

Checks whether the specified CAN flag is set or not.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_FLAG,:specifies the flag to check. This parameter can be one of the following flags:
  • CAN_FLAG_EWG
  • CAN_FLAG_EPV
  • CAN_FLAG_BOF
  • CAN_FLAG_RQCP0
  • CAN_FLAG_RQCP1
  • CAN_FLAG_RQCP2
  • CAN_FLAG_FMP1
  • CAN_FLAG_FF1
  • CAN_FLAG_FOV1
  • CAN_FLAG_FMP0
  • CAN_FLAG_FF0
  • CAN_FLAG_FOV0
  • CAN_FLAG_WKU
  • CAN_FLAG_SLAK
  • CAN_FLAG_LEC
Return values:
Thenew state of CAN_FLAG (SET or RESET).

Definition at line 1043 of file stm32f10x_can.c.

ITStatus CAN_GetITStatus ( CAN_TypeDef CANx,
uint32_t  CAN_IT 
)

Checks whether the specified CANx interrupt has occurred or not.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_IT,:specifies the CAN interrupt source to check. This parameter can be one of the following flags:
  • CAN_IT_TME
  • CAN_IT_FMP0
  • CAN_IT_FF0
  • CAN_IT_FOV0
  • CAN_IT_FMP1
  • CAN_IT_FF1
  • CAN_IT_FOV1
  • CAN_IT_WKU
  • CAN_IT_SLK
  • CAN_IT_EWG
  • CAN_IT_EPV
  • CAN_IT_BOF
  • CAN_IT_LEC
  • CAN_IT_ERR
Return values:
Thecurrent state of CAN_IT (SET or RESET).

Definition at line 1203 of file stm32f10x_can.c.

uint8_t CAN_GetLastErrorCode ( CAN_TypeDef CANx)

Returns the CANx's last error code (LEC).

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Return values:
CAN_ErrorCode,:specifies the Error code :
  • CAN_ERRORCODE_NoErr No Error
  • CAN_ERRORCODE_StuffErr Stuff Error
  • CAN_ERRORCODE_FormErr Form Error
  • CAN_ERRORCODE_ACKErr Acknowledgment Error
  • CAN_ERRORCODE_BitRecessiveErr Bit Recessive Error
  • CAN_ERRORCODE_BitDominantErr Bit Dominant Error
  • CAN_ERRORCODE_CRCErr CRC Error
  • CAN_ERRORCODE_SoftwareSetErr Software Set Error

Definition at line 922 of file stm32f10x_can.c.

uint8_t CAN_GetLSBTransmitErrorCounter ( CAN_TypeDef CANx)

Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC).

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Return values:
LSBof the 9-bit CAN Transmit Error Counter.

Definition at line 966 of file stm32f10x_can.c.

uint8_t CAN_GetReceiveErrorCounter ( CAN_TypeDef CANx)

Returns the CANx Receive Error Counter (REC).

Note:
In case of an error during reception, this counter is incremented by 1 or by 8 depending on the error condition as defined by the CAN standard. After every successful reception, the counter is decremented by 1 or reset to 120 if its value was higher than 128. When the counter value exceeds 127, the CAN controller enters the error passive state.
Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Return values:
CANReceive Error Counter.

Definition at line 946 of file stm32f10x_can.c.

uint8_t CAN_Init ( CAN_TypeDef CANx,
CAN_InitTypeDef CAN_InitStruct 
)

Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_InitStruct,:pointer to a CAN_InitTypeDef structure that contains the configuration information for the CAN peripheral.
Return values:
Constantindicates initialization succeed which will be CAN_InitStatus_Failed or CAN_InitStatus_Success.

Definition at line 154 of file stm32f10x_can.c.

void CAN_ITConfig ( CAN_TypeDef CANx,
uint32_t  CAN_IT,
FunctionalState  NewState 
)

Enables or disables the specified CANx interrupts.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
CAN_IT,:specifies the CAN interrupt sources to be enabled or disabled. This parameter can be:
  • CAN_IT_TME,
  • CAN_IT_FMP0,
  • CAN_IT_FF0,
  • CAN_IT_FOV0,
  • CAN_IT_FMP1,
  • CAN_IT_FF1,
  • CAN_IT_FOV1,
  • CAN_IT_EWG,
  • CAN_IT_EPV,
  • CAN_IT_LEC,
  • CAN_IT_ERR,
  • CAN_IT_WKU or
  • CAN_IT_SLK.
NewState,:new state of the CAN interrupts. This parameter can be: ENABLE or DISABLE.
Return values:
None.

Definition at line 1003 of file stm32f10x_can.c.

uint8_t CAN_MessagePending ( CAN_TypeDef CANx,
uint8_t  FIFONumber 
)

Returns the number of pending messages.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
FIFONumber,:Receive FIFO number, CAN_FIFO0 or CAN_FIFO1.
Return values:
NbMessage: which is the number of pending message.

Definition at line 743 of file stm32f10x_can.c.

uint8_t CAN_OperatingModeRequest ( CAN_TypeDef CANx,
uint8_t  CAN_OperatingMode 
)

Select the CAN Operation mode.

Parameters:
CAN_OperatingMode: CAN Operating Mode. This parameter can be one of CAN_OperatingMode_TypeDef enumeration.
Return values:
statusof the requested mode which can be
  • CAN_ModeStatus_Failed CAN failed entering the specific mode
  • CAN_ModeStatus_Success CAN Succeed entering the specific mode

Definition at line 774 of file stm32f10x_can.c.

void CAN_Receive ( CAN_TypeDef CANx,
uint8_t  FIFONumber,
CanRxMsg RxMessage 
)

Receives a message.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
FIFONumber,:Receive FIFO number, CAN_FIFO0 or CAN_FIFO1.
RxMessage,:pointer to a structure receive message which contains CAN Id, CAN DLC, CAN datas and FMI number.
Return values:
None.

Definition at line 671 of file stm32f10x_can.c.

void CAN_SlaveStartBank ( uint8_t  CAN_BankNumber)

Select the start bank filter for slave CAN.

Note:
This function applies only to STM32 Connectivity line devices.
Parameters:
CAN_BankNumber,:Select the start slave bank filter from 1..27.
Return values:
None.

Definition at line 428 of file stm32f10x_can.c.

uint8_t CAN_Sleep ( CAN_TypeDef CANx)

Enters the low power mode.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Return values:
status,:CAN_Sleep_Ok if sleep entered, CAN_Sleep_Failed in an other case.

Definition at line 856 of file stm32f10x_can.c.

void CAN_StructInit ( CAN_InitTypeDef CAN_InitStruct)

Fills each CAN_InitStruct member with its default value.

Parameters:
CAN_InitStruct,:pointer to a CAN_InitTypeDef structure which will be initialized.
Return values:
None.

Definition at line 384 of file stm32f10x_can.c.

uint8_t CAN_Transmit ( CAN_TypeDef CANx,
CanTxMsg TxMessage 
)

Initiates the transmission of a message.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
TxMessage,:pointer to a structure which contains CAN Id, CAN DLC and CAN data.
Return values:
Thenumber of the mailbox that is used for transmission or CAN_TxStatus_NoMailBox if there is no empty mailbox.

Definition at line 515 of file stm32f10x_can.c.

uint8_t CAN_TransmitStatus ( CAN_TypeDef CANx,
uint8_t  TransmitMailbox 
)

Checks the transmission of a message.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
TransmitMailbox,:the number of the mailbox that is used for transmission.
Return values:
CAN_TxStatus_Okif the CAN driver transmits the message, CAN_TxStatus_Failed in an other case.

Definition at line 589 of file stm32f10x_can.c.

void CAN_TTComModeCmd ( CAN_TypeDef CANx,
FunctionalState  NewState 
)

Enables or disabes the CAN Time TriggerOperation communication mode.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
NewState: Mode new state , can be one of FunctionalState.
Note:
when enabled, Time stamp (TIME[15:0]) value is sent in the last two data bytes of the 8-byte message: TIME[7:0] in data byte 6 and TIME[15:8] in data byte 7
DLC must be programmed as 8 in order Time Stamp (2 bytes) to be sent over the CAN bus.
Return values:
None

Definition at line 481 of file stm32f10x_can.c.

uint8_t CAN_WakeUp ( CAN_TypeDef CANx)

Wakes the CAN up.

Parameters:
CANx,:where x can be 1 or 2 to to select the CAN peripheral.
Return values:
status,:CAN_WakeUp_Ok if sleep mode left, CAN_WakeUp_Failed in an other case.

Definition at line 882 of file stm32f10x_can.c.