⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fr_unified.h

📁 基于freescale MC9S12XF512 MCU
💻 H
📖 第 1 页 / 共 4 页
字号:
#define FrPSR2_MTSA_NOT_RCV_BVIO          0x0040
#define FrPSR2_MTSA_NOT_RCV_SYNERR_BVIO   0x0060

#define FrPSR3_WUB              0x2000
#define FrPSR3_WUA              0x0020

#define FrSSCCR_MCY             0x0100
#define FrSSCCR_WMD             0x8000

#define FrTICCR_T1ST            0x0001
#define FrTICCR_T1TR            0x0002
#define FrTICCR_T1SP            0x0004
#define FrTICCR_T1_REP          0x0010
#define FrTICCR_T2ST            0x0100
#define FrTICCR_T2TR            0x0200
#define FrTICCR_T2SP            0x0400
#define FrTICCR_T2_REP          0x1000
#define FrTICCR_T2_CFG          0x2000

#define FrMTSACFR_MTE           0x8000
#define FrMTSBCFR_MTE           0x8000

// Definition for Fr_enable_interrupts() function
// Definition of flags in the GIFER register
#define FR_MODULE_IRQ                               0x0080
#define FR_PROTOCOL_IRQ                             0x0040
#define FR_CHI_IRQ                                  0x0020
#define FR_WAKEUP_IRQ                               0x0010
#define FR_FIFO_B_IRQ                               0x0008
#define FR_FIFO_A_IRQ                               0x0004
#define FR_RECEIVE_IRQ                              0x0002
#define FR_TRANSMIT_IRQ                             0x0001
// Definition of flags in the PIER0/PIFR0 register
#define FR_FATAL_PROTOCOL_ERROR_IRQ                 0x8000
#define FR_INTERNAL_PROTOCOL_ERROR_IRQ              0x4000
#define FR_ILLEGAL_PROTOCOL_CONFIGURATION_IRQ       0x2000
#define FR_COLDSTART_ABORT_IRQ                      0x1000
#define FR_MISSING_RATE_CORRECTION_IRQ              0x0800
#define FR_MISSING_OFFSET_CORRECTION_IRQ            0x0400
#define FR_CLOCK_CORRECTION_LIMIT_IRQ               0x0200
#define FR_MAX_SYNC_FRAMES_DETECTED_IRQ             0x0100
#define FR_MEDIA_ACCESS_TEST_SYMBOL_RECEIVED_IRQ    0x0080
#define FR_VIOLATION_CHB_IRQ                        0x0040
#define FR_VIOLATION_CHA_IRQ                        0x0020
#define FR_TRANSMISSION_ACROSS_BOUNDARY_CHB_IRQ     0x0010
#define FR_TRANSMISSION_ACROSS_BOUNDARY_CHA_IRQ     0x0008
#define FR_TIMER_2_EXPIRED_IRQ                      0x0004
#define FR_TIMER_1_EXPIRED_IRQ                      0x0002
#define FR_CYCLE_START_IRQ                          0x0001
// Definition of flags in the PIER1/PIFR0 register
#define FR_ERROR_MODE_CHANGED_IRQ                   0x8000
#define FR_ILLEGAL_PROTOCOL_COMMAND_IRQ             0x4000
#define FR_PROTOCOL_ENGINE_COM_FAILURE              0x2000
#define FR_PROTOCOL_STATE_CHANGED_IRQ               0x1000
#define FR_SLOT_STATUS_COUNTER_3_INCREMENTED_IRQ    0x0800
#define FR_SLOT_STATUS_COUNTER_2_INCREMENTED_IRQ    0x0400
#define FR_SLOT_STATUS_COUNTER_1_INCREMENTED_IRQ    0x0200
#define FR_SLOT_STATUS_COUNTER_0_INCREMENTED_IRQ    0x0100
#define FR_EVEN_CYCLE_TABLE_WRITTEN_IRQ             0x0020
#define FR_ODD_CYCLE_TABLE_WRITTEN_IRQ              0x0010

// Definition of slot status register
#define FrSSRn_VFB	                                0x8000
#define FrSSRn_SYB	                                0x4000
#define FrSSRn_NFB                                  0x2000
#define FrSSRn_SUB	                                0x1000
#define FrSSRn_SEB	                                0x0800
#define FrSSRn_CEB	                                0x0400
#define FrSSRn_BVB	                                0x0200
#define FrSSRn_TCB	                                0x0100
#define FrSSRn_VFA	                                0x0080
#define FrSSRn_SYA	                                0x0040
#define FrSSRn_NFA                                  0x0020
#define FrSSRn_SUA	                                0x0010
#define FrSSRn_SEA	                                0x0008
#define FrSSRn_CEA	                                0x0004
#define FrSSRn_BVA	                                0x0002
#define FrSSRn_TCA	                                0x0001

#define FrRFRFCFR_IBD           0x4000
#define FrRFRFCFR_WMD           0x8000

#define FrRFRFCTR_F0EN          0x0001
#define FrRFRFCTR_F1EN          0x0002
#define FrRFRFCTR_F2EN          0x0004
#define FrRFRFCTR_F3EN          0x0008
#define FrRFRFCTR_F0MD          0x0100
#define FrRFRFCTR_F1MD          0x0200
#define FrRFRFCTR_F2MD          0x0400
#define FrRFRFCTR_F3MD          0x0800

#define FrPOCR_POCCMD_ALLOW_COLDSTART   0x0000
#define FrPOCR_POCCMD_ALL_SLOTS         0x0001
#define FrPOCR_POCCMD_CONFIG            0x0002
#define FrPOCR_POCCMD_FREEZE            0x0003
#define FrPOCR_POCCMD_READY             0x0004
#define FrPOCR_POCCMD_CONFIG_COMPLETE   0x0004
#define FrPOCR_POCCMD_RUN               0x0005
#define FrPOCR_POCCMD_DEFAULT_CONFIG    0x0006
#define FrPOCR_POCCMD_HALT              0x0007
#define FrPOCR_POCCMD_WAKEUP            0x0008
#define FrPOCR_POCCMD_RESET             0x000C

#define FrPSR0_ERRMODE_ACTIVE           0x0000
#define FrPSR0_ERRMODE_PASSIVE          0x4000
#define FrPSR0_ERRMODE_COMM_HALT        0x8000
#define FrPSR0_SLOTMODE_SINGLE          0x0000
#define FrPSR0_SLOTMODE_ALL_PENDING     0x1000
#define FrPSR0_SLOTMODE_ALL             0x2000

#define FrPSR0_PROTSTATE_DEFAULT_CONFIG 0x0000
#define FrPSR0_PROTSTATE_CONFIG         0x0100
#define FrPSR0_PROTSTATE_WAKEUP         0x0200
#define FrPSR0_PROTSTATE_READY          0x0300
#define FrPSR0_PROTSTATE_NORMAL_PASSIVE 0x0400
#define FrPSR0_PROTSTATE_NORMAL_ACTIVE  0x0500
#define FrPSR0_PROTSTATE_HALT           0x0600
#define FrPSR0_PROTSTATE_STARTUP        0x0700

#define FrPSR0_STARTUPSTATE_COLDSTART_COLLISION_RESOLUTION  0x0020
#define FrPSR0_STARTUPSTATE_COLDSTART_LISTEN                0x0030
#define FrPSR0_STARTUPSTATE_INTEGRATION_CONSISTENCY_CHECK   0x0040
#define FrPSR0_STARTUPSTATE_INTEGRATION_LISTEN              0x0050
#define FrPSR0_STARTUPSTATE_INITIALIZE_SCHEDULE             0x0070
#define FrPSR0_STARTUPSTATE_COLDSTART_CONSISTENCY_CHECK     0x00A0
#define FrPSR0_STARTUPSTATE_INTEGRATION_COLDSTART_CHECK     0x00D0
#define FrPSR0_STARTUPSTATE_COLDSTART_GAP                   0x00E0
#define FrPSR0_STARTUPSTATE_COLDSTART_JOIN                  0x00F0

#define FrPSR0_WAKEUPSTATUS_RECEIVED_HEADER                 0x0001
#define FrPSR0_WAKEUPSTATUS_RECEIVED_WUP                    0x0002
#define FrPSR0_WAKEUPSTATUS_COLLISION_HEADER                0x0003
#define FrPSR0_WAKEUPSTATUS_COLLISION_WUP                   0x0004
#define FrPSR0_WAKEUPSTATUS_COLLISION_UNKNOWN               0x0005
#define FrPSR0_WAKEUPSTATUS_TRANSMITTED                     0x0006

#define FrRSBIR_WMD                     0x8000
#define FrRSBIR_SEL_RSBIR_A1            0x0000
#define FrRSBIR_SEL_RSBIR_A2            0x1000
#define FrRSBIR_SEL_RSBIR_B1            0x2000
#define FrRSBIR_SEL_RSBIR_B2            0x3000

#define FrMBCCSR_MCM                    0x4000
#define FrMBCCSR_MBT                    0x2000
#define FrMBCCSR_MTD                    0x1000
#define FrMBCCSR_CMT                    0x0800
#define FrMBCCSR_EDT                    0x0400
#define FrMBCCSR_LCKT                   0x0200
#define FrMBCCSR_MBIE                   0x0100
#define FrMBCCSR_DUP                    0x0010
#define FrMBCCSR_DVAL                   0x0008
#define FrMBCCSR_EDS                    0x0004
#define FrMBCCSR_LCKS                   0x0002
#define FrMBCCSR_MBIF                   0x0001

#define FrMBCCFR_MTM                    0x8000
#define FrMBCCFR_CHA                    0x4000
#define FrMBCCFR_CHB                    0x2000
#define FrMBCCFR_CCFE                   0x1000

#define FrF_HEADER_PPI                  0x4000
#define FrF_HEADER_NUF                  0x2000
#define FrF_HEADER_VFB                  0x8000
#define FrF_HEADER_VFA                  0x0080

/******************************************************************************
* Types
******************************************************************************/

// The values are used to return the CHI related error flags
typedef uint16 Fr_CHI_error_type;

// The values are used to determine which message buffers defined in 
// a Fr_buffer_info_type structure will be used for the FlexRay module configuration
typedef uint8 Fr_index_selector_type;

// The values of this enumeration are used to determine if communication stops 
// immediately or at the end of current FlexRay cycle
typedef enum
{
    FR_HALT_COMMUNICATION = 0,
    FR_ABORT_COMMUNICATION
} Fr_stop_communication_type;

// The values of this enumeration are used to provide information whether or not the
// local FlexRay CC is synchronous to the FR global time
typedef enum
{
    FR_ASYNC = 0,
    FR_SYNC
} Fr_sync_state_type;

// The values are used to hold the protocol state
typedef enum
{
    FR_POCSTATE_CONFIG = 0,
    FR_POCSTATE_DEFAULT_CONFIG,
    FR_POCSTATE_HALT,
    FR_POCSTATE_NORMAL_ACTIVE,
    FR_POCSTATE_NORMAL_PASSIVE,
    FR_POCSTATE_READY,
    FR_POCSTATE_STARTUP,
    FR_POCSTATE_WAKEUP
} Fr_POC_state_type;

// These values are used to determine if a message buffer has been updated with new data
typedef enum
{
    FR_TXMB_UPDATED = 0,
    FR_TXMB_NO_ACCESS
} Fr_tx_MB_status_type;

// These values are used to determine if a data has been transmitted
// For single message buffers are used only the FR_TRANSMITTED and FR_NOT_TRANSMITTED values
typedef enum 
{
    FR_TRANSMITTED = 0,
    FR_NOT_TRANSMITTED,
    FR_INTERNAL_MESSAGE_TRANSFER_DONE,
    FR_TRANSMIT_SIDE_TRANSMITTED
} Fr_tx_status_type;

// These values are used to determine if a data has been received
typedef enum
{
    FR_RXMB_RECEIVED = 0,
    FR_RXMB_NOT_RECEIVED,
    FR_RXMB_NULL_FRAME_RECEIVED,
    FR_RXMB_NO_ACCESS
} Fr_rx_MB_status_type;

// These values are used to determine if a message buffer has received a frame
typedef enum
{
    FR_RECEIVED = 0,
    FR_NOT_RECEIVED,
    FR_NULL_FRAME_RECEIVED
} Fr_rx_status_type;

// These values are used to determine if a data has been received into a FIFO storage
typedef enum
{
    FR_FIFO_RECEIVED = 0,
    FR_FIFO_NOT_RECEIVED
} Fr_FIFO_status_type;

// The values determine the state of the wakeup mechanism
typedef enum
{
    FR_WAKEUPSTATE_UNDEFINED = 0,
    FR_WAKEUPSTATE_RECEIVED_HEADER,
    FR_WAKEUPSTATE_RECEIVED_WUP,
    FR_WAKEUPSTATE_COLLISION_HEADER,
    FR_WAKEUPSTATE_COLLISION_WUP,
    FR_WAKEUPSTATE_COLLISION_UNKNOWN,
    FR_WAKEUPSTATE_TRANSMITTED
} Fr_wakeup_state_type;

// The values determine the state of the Media Test Symbol 
// (MTS) reception in Symbol Window of a communication cycle
typedef enum
{
    FR_MTS_RCV = 0,
    FR_MTS_RCV_SYNERR,
    FR_MTS_RCV_BVIO,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -