STM32F1 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F1 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Groups
stm32f10x_can.h File Reference

This file contains all the functions prototypes for the CAN firmware library. More...

#include "stm32f10x.h"

Go to the source code of this file.

Data Structures

struct  CAN_InitTypeDef
 CAN init structure definition. More...
 
struct  CAN_FilterInitTypeDef
 CAN filter init structure definition. More...
 
struct  CanTxMsg
 CAN Tx message structure definition. More...
 
struct  CanRxMsg
 CAN Rx message structure definition. More...
 

Macros

#define IS_CAN_ALL_PERIPH(PERIPH)
 
#define CANINITFAILED   ((uint8_t)0x00)
 
#define CANINITOK   ((uint8_t)0x01)
 
#define CAN_Mode_Normal   ((uint8_t)0x00)
 
#define CAN_Mode_LoopBack   ((uint8_t)0x01)
 
#define CAN_Mode_Silent   ((uint8_t)0x02)
 
#define CAN_Mode_Silent_LoopBack   ((uint8_t)0x03)
 
#define IS_CAN_MODE(MODE)
 
#define CAN_SJW_1tq   ((uint8_t)0x00)
 
#define CAN_SJW_2tq   ((uint8_t)0x01)
 
#define CAN_SJW_3tq   ((uint8_t)0x02)
 
#define CAN_SJW_4tq   ((uint8_t)0x03)
 
#define IS_CAN_SJW(SJW)
 
#define CAN_BS1_1tq   ((uint8_t)0x00)
 
#define CAN_BS1_2tq   ((uint8_t)0x01)
 
#define CAN_BS1_3tq   ((uint8_t)0x02)
 
#define CAN_BS1_4tq   ((uint8_t)0x03)
 
#define CAN_BS1_5tq   ((uint8_t)0x04)
 
#define CAN_BS1_6tq   ((uint8_t)0x05)
 
#define CAN_BS1_7tq   ((uint8_t)0x06)
 
#define CAN_BS1_8tq   ((uint8_t)0x07)
 
#define CAN_BS1_9tq   ((uint8_t)0x08)
 
#define CAN_BS1_10tq   ((uint8_t)0x09)
 
#define CAN_BS1_11tq   ((uint8_t)0x0A)
 
#define CAN_BS1_12tq   ((uint8_t)0x0B)
 
#define CAN_BS1_13tq   ((uint8_t)0x0C)
 
#define CAN_BS1_14tq   ((uint8_t)0x0D)
 
#define CAN_BS1_15tq   ((uint8_t)0x0E)
 
#define CAN_BS1_16tq   ((uint8_t)0x0F)
 
#define IS_CAN_BS1(BS1)   ((BS1) <= CAN_BS1_16tq)
 
#define CAN_BS2_1tq   ((uint8_t)0x00)
 
#define CAN_BS2_2tq   ((uint8_t)0x01)
 
#define CAN_BS2_3tq   ((uint8_t)0x02)
 
#define CAN_BS2_4tq   ((uint8_t)0x03)
 
#define CAN_BS2_5tq   ((uint8_t)0x04)
 
#define CAN_BS2_6tq   ((uint8_t)0x05)
 
#define CAN_BS2_7tq   ((uint8_t)0x06)
 
#define CAN_BS2_8tq   ((uint8_t)0x07)
 
#define IS_CAN_BS2(BS2)   ((BS2) <= CAN_BS2_8tq)
 
#define IS_CAN_PRESCALER(PRESCALER)   (((PRESCALER) >= 1) && ((PRESCALER) <= 1024))
 
#define IS_CAN_FILTER_NUMBER(NUMBER)   ((NUMBER) <= 13)
 
#define CAN_FilterMode_IdMask   ((uint8_t)0x00)
 
#define CAN_FilterMode_IdList   ((uint8_t)0x01)
 
#define IS_CAN_FILTER_MODE(MODE)
 
#define CAN_FilterScale_16bit   ((uint8_t)0x00)
 
#define CAN_FilterScale_32bit   ((uint8_t)0x01)
 
#define IS_CAN_FILTER_SCALE(SCALE)
 
#define CAN_FilterFIFO0   ((uint8_t)0x00)
 
#define CAN_FilterFIFO1   ((uint8_t)0x01)
 
#define IS_CAN_FILTER_FIFO(FIFO)
 
#define IS_CAN_BANKNUMBER(BANKNUMBER)   (((BANKNUMBER) >= 1) && ((BANKNUMBER) <= 27))
 
#define IS_CAN_TRANSMITMAILBOX(TRANSMITMAILBOX)   ((TRANSMITMAILBOX) <= ((uint8_t)0x02))
 
#define IS_CAN_STDID(STDID)   ((STDID) <= ((uint32_t)0x7FF))
 
#define IS_CAN_EXTID(EXTID)   ((EXTID) <= ((uint32_t)0x1FFFFFFF))
 
#define IS_CAN_DLC(DLC)   ((DLC) <= ((uint8_t)0x08))
 
#define CAN_ID_STD   ((uint32_t)0x00000000)
 
#define CAN_ID_EXT   ((uint32_t)0x00000004)
 
#define IS_CAN_IDTYPE(IDTYPE)   (((IDTYPE) == CAN_ID_STD) || ((IDTYPE) == CAN_ID_EXT))
 
#define CAN_RTR_DATA   ((uint32_t)0x00000000)
 
#define CAN_RTR_REMOTE   ((uint32_t)0x00000002)
 
#define IS_CAN_RTR(RTR)   (((RTR) == CAN_RTR_DATA) || ((RTR) == CAN_RTR_REMOTE))
 
#define CANTXFAILED   ((uint8_t)0x00)
 
#define CANTXOK   ((uint8_t)0x01)
 
#define CANTXPENDING   ((uint8_t)0x02)
 
#define CAN_NO_MB   ((uint8_t)0x04)
 
#define CAN_FIFO0   ((uint8_t)0x00)
 
#define CAN_FIFO1   ((uint8_t)0x01)
 
#define IS_CAN_FIFO(FIFO)   (((FIFO) == CAN_FIFO0) || ((FIFO) == CAN_FIFO1))
 
#define CANSLEEPFAILED   ((uint8_t)0x00)
 
#define CANSLEEPOK   ((uint8_t)0x01)
 
#define CANWAKEUPFAILED   ((uint8_t)0x00)
 
#define CANWAKEUPOK   ((uint8_t)0x01)
 
#define CAN_FLAG_EWG   ((uint32_t)0x00000001)
 
#define CAN_FLAG_EPV   ((uint32_t)0x00000002)
 
#define CAN_FLAG_BOF   ((uint32_t)0x00000004)
 
#define IS_CAN_FLAG(FLAG)
 
#define CAN_IT_RQCP0   ((uint32_t)0x00000005)
 
#define CAN_IT_RQCP1   ((uint32_t)0x00000006)
 
#define CAN_IT_RQCP2   ((uint32_t)0x00000007)
 
#define CAN_IT_TME   ((uint32_t)0x00000001)
 
#define CAN_IT_FMP0   ((uint32_t)0x00000002)
 
#define CAN_IT_FF0   ((uint32_t)0x00000004)
 
#define CAN_IT_FOV0   ((uint32_t)0x00000008)
 
#define CAN_IT_FMP1   ((uint32_t)0x00000010)
 
#define CAN_IT_FF1   ((uint32_t)0x00000020)
 
#define CAN_IT_FOV1   ((uint32_t)0x00000040)
 
#define CAN_IT_EWG   ((uint32_t)0x00000100)
 
#define CAN_IT_EPV   ((uint32_t)0x00000200)
 
#define CAN_IT_BOF   ((uint32_t)0x00000400)
 
#define CAN_IT_LEC   ((uint32_t)0x00000800)
 
#define CAN_IT_ERR   ((uint32_t)0x00008000)
 
#define CAN_IT_WKU   ((uint32_t)0x00010000)
 
#define CAN_IT_SLK   ((uint32_t)0x00020000)
 
#define IS_CAN_ITConfig(IT)
 
#define IS_CAN_ITStatus(IT)
 

Functions

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

Detailed Description

This file contains all the functions prototypes for the CAN firmware library.

Author
MCD Application Team
Version
V3.3.0
Date
04/16/2010

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

© COPYRIGHT 2010 STMicroelectronics