ads7843.h~

来自「触摸屏驱动芯片ADS7843在LINUX2.6内核下的驱动程序」· H~ 代码 · 共 66 行

H~
66
字号
#ifndef _ADS_7843_H_#define _ADS_7843_H_// ADS7843 Control Byte bit defines#define ADS7843_CMD_START	0x0080#define ADS7843_ADDR_BIT	4#define ADS7843_ADDR_MASK 	(0x7<<ADS7843_ADDR_BIT)#define ADS7843_MEASURE_X  	(0x5<<ADS7843_ADDR_BIT)#define ADS7843_MEASURE_Y  	(0x1<<ADS7843_ADDR_BIT)#define ADS7843_MEASURE_Z1 	(0x3<<ADS7843_ADDR_BIT)#define ADS7843_MEASURE_Z2 	(0x4<<ADS7843_ADDR_BIT)#define ADS7843_8BITS     	(1<<3)#define ADS7843_12BITS    	0#define ADS7843_SER       	(1<<2)#define ADS7843_DFR       	0#define ADS7843_PWR_BIT   	0#define ADS7843_PD      	0#define ADS7843_ADC_ON  	(0x1<<ADS7843_PWR_BIT)#define ADS7843_REF_ON  	(0x2<<ADS7843_PWR_BIT)#define ADS7843_REF_ADC_ON 	(0x3<<ADS7843_PWR_BIT)#define MEASURE_8BIT_X\    (unsigned short)(ADS7843_CMD_START | ADS7843_MEASURE_X | ADS7843_8BITS | ADS7843_DFR | ADS7843_PD)#define MEASURE_8BIT_Y\    (unsigned short)(ADS7843_CMD_START | ADS7843_MEASURE_Y | ADS7843_8BITS | ADS7843_DFR | ADS7843_PD)#define MEASURE_12BIT_X \    (unsigned short)(ADS7843_CMD_START | ADS7843_MEASURE_X | ADS7843_12BITS | ADS7843_DFR | ADS7843_PD)#define MEASURE_12BIT_Y \    (unsigned short)(ADS7843_CMD_START | ADS7843_MEASURE_Y | ADS7843_12BITS | ADS7843_DFR | ADS7843_PD)#define MEASURE_12BIT_Z1 \    (unsigned char)(ADS7843_MEASURE_Z1 | ADS7843_12BITS | ADS7843_DFR | ADS7843_PD)#define MEASURE_12BIT_Z2 \    (unsigned char)(ADS7843_MEASURE_Z2 | ADS7843_12BITS | ADS7843_DFR | ADS7843_PD)/* * This structure is nonsense - millisecs is not very useful * since the field size is too small.  Also, we SHOULD NOT * be exposing jiffies to user space directly. */struct ts_event {	unsigned short		pressure;	unsigned short		x;	unsigned short		y;	unsigned short		pad;	struct timeval	stamp;};#define NR_EVENTS	16struct ads7843_dev{	struct semaphore	sem;	struct cdev cdev;	int			use_count;		u8			evt_head;	u8			evt_tail;	struct ts_event	events[NR_EVENTS];	struct timer_list	timer;	};#define ads7843_ts_evt_pending(ts)	((volatile u8)(ts)->evt_head != (ts)->evt_tail)#define ads7843_ts_evt_get(ts)		((ts)->events + (ts)->evt_tail)#define ads7843_ts_evt_pull(ts)		((ts)->evt_tail = ((ts)->evt_tail + 1) & (NR_EVENTS - 1))#define ads7843_ts_evt_clear(ts)	((ts)->evt_head = (ts)->evt_tail = 0)#endif /* _ADS_7843_H_ */ 

⌨️ 快捷键说明

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