📄 lin_defines.h
字号:
#ifndef __LIN_DEFINES_H__
#define __LIN_DEFINES_H__
#define MCU_BUS_FREQ 4000000
//type defines
#define L_BOOL unsigned char
#define L_IOCTL_OP unsigned char//uint
#define L_IRQMASK unsigned char
#define L_U8 unsigned char
#define L_U16 unsigned int
#define L_Signal_Handle unsigned char
#define L_Flag_Handle unsigned char
#define L_IFC_Handle unsigned char
#define L_U8P unsigned char *
#define L_U8PC unsigned char* const
#define L_U8CP const unsigned char* const
#define L_VOIDP void*
//Node Address constant defines
#define LIN_NODE_FR 0x10
#define LIN_NODE_FL 0x11
#define LIN_NODE_RR 0x12
#define LIN_NODE_BECU 0x13
#define LIN_NODE_DL 0x14
#define LIN_NODE_DR 0x15
#define LIN_NODE_CH 0x16
#define LIN_NODE_MR 0x17
#define LIN_NODE_ML 0x18
#define LIN_NODE_SW_C 0x19
#define LIN_NODE_SW_D 0x1a
//#define LIN_NODE_MASTER LIN_NODE_BECU
#define LIN_NODE_SEL LIN_NODE_SW_C/*Here is Node Selection Definition, Put your NAD Here*/
//OK#define LIN_NODE_SEL LIN_NODE_DL/*OK! Here is Node Selection Definition, Put your NAD Here*/
//OK#define LIN_NODE_SEL LIN_NODE_SW_D/*Here is Node Selection Definition, Put your NAD Here*/
//Node Status constant Defines
#define LIN_FLAG_SLEEP 0x01
#define LIN_FLAG_RDY_FOR_SYNCHBREAK 0x02
#define LIN_FLAG_NO_BUS_ACTIVE 0x40
#define LIN_FLAG_NOINIT 0x08
#define LIN_FLAG_DISCONNECT 0x10
#define LIN_FLAG_WAKEUP_TIMEOUT 0x20
#define LIN_FLAG_WAKEUP 0x04
//#define LIN_FLAG_WAKEUP_FALLING 0x04
//#define LIN_FLAG_WAKEUP_RISING 0x80
//#define LIN_FLAG_WAKEUP 0x41
//Transceiver Status constant defines
//#define LIN_FLAG_WAKEUP_TIMEOUT 0x01
#define LIN_FLAG_ADJ 0x01
#define LIN_FLAG_REC_HEADER 0x02
#define LIN_FLAG_REC_SYNCH 0x80
#define LIN_FLAG_IGNORE 0x04
#define LIN_FLAG_SEND_DATA 0x08
#define LIN_FLAG_REC_DATA 0x10
#define LIN_FLAG_SEND_CHECKSUM 0x20
#define LIN_FLAG_REC_CHECKSUM 0x40
//Error Status constant defines
#define LIN_ERR_BITS 0x01
#define LIN_ERR_CHECKSUM 0x02
#define LIN_ERR_ID_PARITY 0x04
#define LIN_ERR_SLAVE_NOT_RESPONSE 0x08
#define LIN_ERR_SYNCH 0x10
#define LIN_ERR_BUS_NOACT 0x20
#define LIN_ERR_IN_RESPONSE 0x40
#define LIN_SUCCESS_TRANSFER 0x80
#define LIN_OK 0x00
//Pending Status constant defines
#define LIN_PENDING_NORMAL 0x01
#define LIN_PENDING_WAKEUP 0x02
#define LIN_PENDING_SLEEP 0x04
#define LIN_PENDING_BREAK 0x08
#define LIN_PENDING_NONE 0x00
//Other constant defines
#define LIN_SYNCH_CHAR 0x55u
//#define LIN_WAKEUP_CHAR 0xf0u
#define LIN_WAKEUP_CHAR 0x00u//9 * 104 = 937
#define LIN_ID_GOTO_SLEEP 0x3cu
#define LIN_ENTER_SLEEP __asm STOP;
#define LIN_ENTER_WAIT __asm WAIT;
//MCU REGISTERS REDEFINES
//Commbo Switch LIN_EN pin control through PTE2
#define LIN_EN_PIN 0
#if LIN_EN_PIN == 1
#define LIN_EN PTA_PTA3
#define LIN_EN_MASK DDRA_DDRA3
#else
#define LIN_EN PTE_PTE2
#define LIN_EN_MASK DDRE_DDRE2
#endif
//Debug
#define LIN_DEBUG_MODE 0
#if LIN_DEBUG_MODE == 1
#define LIN_TEST_PIN_IC PTD_PTD4
#define LIN_TEST_PIN_IC_MASK DDRD_DDRD4
#define LIN_TEST_PIN_SCI PTA_PTA2
#define LIN_TEST_PIN_SCI_MASK DDRA_DDRA2
#define LIN_Debug_PIN_BREAK PTD_PTD4
#define LIN_Debug_PIN_SYNCH PTD_PTD5
#define LIN_Debug_PIN_ID PTD_PTD6
#define LIN_Debug_PIN_DATA PTA_PTA6
#define LIN_Debug_PIN_CHECK PTA_PTA7
#define LIN_Debug_PIN_BREAK_MASK DDRD_DDRD4
#define LIN_Debug_PIN_SYNCH_MASK DDRD_DDRD5
#define LIN_Debug_PIN_ID_MASK DDRD_DDRD6
#define LIN_Debug_PIN_DATA_MASK DDRA_DDRA6
#define LIN_Debug_PIN_CHECK_MASK DDRA_DDRA7
#endif
#define SPI_DEBUG_MODE 1
#if SPI_DEBUG_MODE == 1
#define TEST_PIN_MASK_G1 DDRC
#define TEST_PIN_MASK_G2 DDRA
#define MASK_VAL_G1 0x7f
#define MASK_VAL_G2 0x78
#define TEST_PIN_SG0 PTC_PTC0
#define TEST_PIN_SG1 PTC_PTC1
#define TEST_PIN_SG2 PTC_PTC2
#define TEST_PIN_SG3 PTC_PTC3
#define TEST_PIN_SG4 PTC_PTC4
#define TEST_PIN_SG5 PTC_PTC5
#define TEST_PIN_SG6 PTC_PTC6
#define TEST_PIN_SG7 PTA_PTA3
#define TEST_PIN_SG8 PTA_PTA4
#define TEST_PIN_SG9 PTA_PTA5
#define TEST_PIN_SG10 PTA_PTA6
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -