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

📄 lin_defines.h

📁 此程序为DP256的SPI实验程序,已经通过实验证明
💻 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 + -