STM32F4 Standard Peripheral bibliotheek
1.0
ST Microelectronics bibliotheek documentatie voor de STM32F4 Standard Peripheral Library
|
This file contains all the functions prototypes for the CAN firmware library. More...
#include "stm32f4xx.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 | CAN_InitStatus_Failed ((uint8_t)0x00) |
#define | CAN_InitStatus_Success ((uint8_t)0x01) |
#define | CANINITFAILED CAN_InitStatus_Failed |
#define | CANINITOK CAN_InitStatus_Success |
#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_OperatingMode_Initialization ((uint8_t)0x00) |
#define | CAN_OperatingMode_Normal ((uint8_t)0x01) |
#define | CAN_OperatingMode_Sleep ((uint8_t)0x02) |
#define | IS_CAN_OPERATING_MODE(MODE) |
#define | CAN_ModeStatus_Failed ((uint8_t)0x00) |
#define | CAN_ModeStatus_Success ((uint8_t)!CAN_ModeStatus_Failed) |
#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) <= 27) |
#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_Filter_FIFO0 ((uint8_t)0x00) |
#define | CAN_Filter_FIFO1 ((uint8_t)0x01) |
#define | IS_CAN_FILTER_FIFO(FIFO) |
#define | CAN_FilterFIFO0 CAN_Filter_FIFO0 |
#define | CAN_FilterFIFO1 CAN_Filter_FIFO1 |
#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_Standard ((uint32_t)0x00000000) |
#define | CAN_Id_Extended ((uint32_t)0x00000004) |
#define | IS_CAN_IDTYPE(IDTYPE) |
#define | CAN_ID_STD CAN_Id_Standard |
#define | CAN_ID_EXT CAN_Id_Extended |
#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 | CAN_RTR_DATA CAN_RTR_Data |
#define | CAN_RTR_REMOTE CAN_RTR_Remote |
#define | CAN_TxStatus_Failed ((uint8_t)0x00) |
#define | CAN_TxStatus_Ok ((uint8_t)0x01) |
#define | CAN_TxStatus_Pending ((uint8_t)0x02) |
#define | CAN_TxStatus_NoMailBox ((uint8_t)0x04) |
#define | CANTXFAILED CAN_TxStatus_Failed |
#define | CANTXOK CAN_TxStatus_Ok |
#define | CANTXPENDING CAN_TxStatus_Pending |
#define | CAN_NO_MB CAN_TxStatus_NoMailBox |
#define | CAN_FIFO0 ((uint8_t)0x00) |
#define | CAN_FIFO1 ((uint8_t)0x01) |
#define | IS_CAN_FIFO(FIFO) (((FIFO) == CAN_FIFO0) || ((FIFO) == CAN_FIFO1)) |
#define | CAN_Sleep_Failed ((uint8_t)0x00) |
#define | CAN_Sleep_Ok ((uint8_t)0x01) |
#define | CANSLEEPFAILED CAN_Sleep_Failed |
#define | CANSLEEPOK CAN_Sleep_Ok |
#define | CAN_WakeUp_Failed ((uint8_t)0x00) |
#define | CAN_WakeUp_Ok ((uint8_t)0x01) |
#define | CANWAKEUPFAILED CAN_WakeUp_Failed |
#define | CANWAKEUPOK CAN_WakeUp_Ok |
#define | CAN_ErrorCode_NoErr ((uint8_t)0x00) |
#define | CAN_ErrorCode_StuffErr ((uint8_t)0x10) |
#define | CAN_ErrorCode_FormErr ((uint8_t)0x20) |
#define | CAN_ErrorCode_ACKErr ((uint8_t)0x30) |
#define | CAN_ErrorCode_BitRecessiveErr ((uint8_t)0x40) |
#define | CAN_ErrorCode_BitDominantErr ((uint8_t)0x50) |
#define | CAN_ErrorCode_CRCErr ((uint8_t)0x60) |
#define | CAN_ErrorCode_SoftwareSetErr ((uint8_t)0x70) |
#define | CAN_FLAG_RQCP0 ((uint32_t)0x38000001) |
#define | CAN_FLAG_RQCP1 ((uint32_t)0x38000100) |
#define | CAN_FLAG_RQCP2 ((uint32_t)0x38010000) |
#define | CAN_FLAG_FMP0 ((uint32_t)0x12000003) |
#define | CAN_FLAG_FF0 ((uint32_t)0x32000008) |
#define | CAN_FLAG_FOV0 ((uint32_t)0x32000010) |
#define | CAN_FLAG_FMP1 ((uint32_t)0x14000003) |
#define | CAN_FLAG_FF1 ((uint32_t)0x34000008) |
#define | CAN_FLAG_FOV1 ((uint32_t)0x34000010) |
#define | CAN_FLAG_WKU ((uint32_t)0x31000008) |
#define | CAN_FLAG_SLAK ((uint32_t)0x31000012) |
#define | CAN_FLAG_EWG ((uint32_t)0x10F00001) |
#define | CAN_FLAG_EPV ((uint32_t)0x10F00002) |
#define | CAN_FLAG_BOF ((uint32_t)0x10F00004) |
#define | CAN_FLAG_LEC ((uint32_t)0x30F00070) |
#define | IS_CAN_GET_FLAG(FLAG) |
#define | IS_CAN_CLEAR_FLAG(FLAG) |
#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_WKU ((uint32_t)0x00010000) |
#define | CAN_IT_SLK ((uint32_t)0x00020000) |
#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_RQCP0 CAN_IT_TME |
#define | CAN_IT_RQCP1 CAN_IT_TME |
#define | CAN_IT_RQCP2 CAN_IT_TME |
#define | IS_CAN_IT(IT) |
#define | IS_CAN_CLEAR_IT(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) |
Configures the CAN reception filter 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_DBGFreeze (CAN_TypeDef *CANx, FunctionalState NewState) |
Enables or disables the DBG Freeze for CAN. More... | |
void | CAN_TTComModeCmd (CAN_TypeDef *CANx, FunctionalState NewState) |
Enables or disables the CAN Time TriggerOperation communication mode. More... | |
uint8_t | CAN_Transmit (CAN_TypeDef *CANx, CanTxMsg *TxMessage) |
Initiates and transmits a CAN frame message. More... | |
uint8_t | CAN_TransmitStatus (CAN_TypeDef *CANx, uint8_t TransmitMailbox) |
Checks the transmission status of a CAN Frame. More... | |
void | CAN_CancelTransmit (CAN_TypeDef *CANx, uint8_t Mailbox) |
Cancels a transmit request. More... | |
void | CAN_Receive (CAN_TypeDef *CANx, uint8_t FIFONumber, CanRxMsg *RxMessage) |
Receives a correct CAN frame. More... | |
void | CAN_FIFORelease (CAN_TypeDef *CANx, uint8_t FIFONumber) |
Releases the specified receive FIFO. More... | |
uint8_t | CAN_MessagePending (CAN_TypeDef *CANx, uint8_t FIFONumber) |
Returns the number of pending received messages. More... | |
uint8_t | CAN_OperatingModeRequest (CAN_TypeDef *CANx, uint8_t CAN_OperatingMode) |
Selects the CAN Operation mode. More... | |
uint8_t | CAN_Sleep (CAN_TypeDef *CANx) |
Enters the Sleep (low power) mode. More... | |
uint8_t | CAN_WakeUp (CAN_TypeDef *CANx) |
Wakes up the CAN peripheral from sleep mode . More... | |
uint8_t | CAN_GetLastErrorCode (CAN_TypeDef *CANx) |
Returns the CANx's last error code (LEC). More... | |
uint8_t | CAN_GetReceiveErrorCounter (CAN_TypeDef *CANx) |
Returns the CANx Receive Error Counter (REC). More... | |
uint8_t | CAN_GetLSBTransmitErrorCounter (CAN_TypeDef *CANx) |
Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC). More... | |
void | CAN_ITConfig (CAN_TypeDef *CANx, uint32_t CAN_IT, FunctionalState NewState) |
Enables or disables the specified CANx interrupts. 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 CANx interrupt has occurred or not. More... | |
void | CAN_ClearITPendingBit (CAN_TypeDef *CANx, uint32_t CAN_IT) |
Clears the CANx's interrupt pending bits. More... | |
This file contains all the functions prototypes for the CAN firmware library.
Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.st.com/software_license_agreement_liberty_v2
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.