| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | /***
 | 
					
						
							|  |  |  |  | 	*************************************************************************************** | 
					
						
							|  |  |  |  | 	*	@file  	touch_043.c | 
					
						
							|  |  |  |  | 	*	@version V1.0 | 
					
						
							|  |  |  |  | 	*  @date    2018-1-1 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	*	@author  <EFBFBD><EFBFBD><EFBFBD>ͿƼ<EFBFBD> | 
					
						
							|  |  |  |  | 	*	@brief   GT9147<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  |    *************************************************************************************** | 
					
						
							|  |  |  |  |    *  @description | 
					
						
							|  |  |  |  | 	* | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	*	ʵ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>STM32F429<EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD> + 4.3<EFBFBD><EFBFBD>RGBҺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>Ļ<EFBFBD>ͺ<EFBFBD>RGB043M1) | 
					
						
							|  |  |  |  | 	*	<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>https://shop212360197.taobao.com
 | 
					
						
							|  |  |  |  | 	*	QQ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD><EFBFBD>536665479 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	* | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | >>>>>	<EFBFBD>ļ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	* | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	*  1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | 	* 	2.ʹ<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>IIC | 
					
						
							|  |  |  |  | 	*	3.ͨ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ100KHz | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	* | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | >>>>>	<EFBFBD><EFBFBD>Ҫ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	* | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	*	1.GT9147<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>籣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>úã<EFBFBD><EFBFBD>û<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | 	*	2.<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | 	*	3.<EFBFBD>û<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> GT9XX_SendCfg() <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȻƵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>Ὣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>Flashд<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	* | 
					
						
							|  |  |  |  | 	*************************************************************************************** | 
					
						
							|  |  |  |  | ***/ | 
					
						
							|  |  |  |  | #include "touch_043.h"
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //	<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ṹ<EFBFBD>壬<EFBFBD>ں<EFBFBD><DABA><EFBFBD> Touch_Scan() <20>ﱻ<EFBFBD><EFB1BB><EFBFBD>ã<EFBFBD><C3A3>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | TouchStructure touchInfo;  | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD>ں<EFBFBD><DABA><EFBFBD> GT9XX_SendCfg() <20><><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>IC<49><43><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
 | 
					
						
							|  |  |  |  | //	<09><><EFBFBD><EFBFBD>GT9147<34><37><EFBFBD>Թ̻<D4B9><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | //	<09><>ϸ<EFBFBD>ļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD>GT9147<34><37><EFBFBD><EFBFBD>ָ<EFBFBD>ϡ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | //
 | 
					
						
							|  |  |  |  | const u8 GT9XX_CFG_DATA[] = 	 | 
					
						
							|  |  |  |  | {                              	  | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0XAA,			// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x8047<34><37><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ð汾<C3B0><E6B1BE>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0XE0,0X01,	// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x8048~0x8049<34><39><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ǰ
 | 
					
						
							|  |  |  |  | 	0X10,0X01,	// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x804A~0x804B<34><42><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ǰ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0X05,			// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x804C<34><43><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1~5<><35>
 | 
					
						
							|  |  |  |  | 	0X0E,			// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x804D<34><44><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>INT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>XY<58><59><EFBFBD>꽻<EFBFBD><EABDBB>
 | 
					
						
							|  |  |  |  | 	0X00,			// <20>üĴ<C3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	0X88,			// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x804F<34><46><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>»<EFBFBD><C2BB>ɿ<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	0X0B,			// <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0x8050<35><30><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>ԭʼ<D4AD><CABC><EFBFBD>괰<EFBFBD><EAB4B0><EFBFBD>˲<EFBFBD>ֵ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	0X80,0X08,0X50,0X3C,0X0F,0X00,0X00,0X00,0XFF,0X67,		// 0X8051 ~ 0X805A
 | 
					
						
							|  |  |  |  | 	0X50,0X00,0X00,0X18,0X1A,0X1E,0X14,0X89,0X28,0X0A,		// 0X805B ~ 0X8064
 | 
					
						
							|  |  |  |  | 	0X30,0X2E,0XBB,0X0A,0X03,0X00,0X00,0X02,0X33,0X1D,		// 0X8065 ~ 0X806E
 | 
					
						
							|  |  |  |  | 	0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X32,0X00,0X00,		// 0X806F ~ 0X8078
 | 
					
						
							|  |  |  |  | 	0X2A,0X1C,0X5A,0X94,0XC5,0X02,0X07,0X00,0X00,0X00,		// 0X8079 ~ 0X8082
 | 
					
						
							|  |  |  |  | 	0XB5,0X1F,0X00,0X90,0X28,0X00,0X77,0X32,0X00,0X62,		// 0X8083 ~ 0X808C
 | 
					
						
							|  |  |  |  | 	0X3F,0X00,0X52,0X50,0X00,0X52,0X00,0X00,0X00,0X00,		// 0X808D ~ 0X8096
 | 
					
						
							|  |  |  |  | 	0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,		// 0X8097 ~ 0X80A0
 | 
					
						
							|  |  |  |  | 	0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,		// 0X80A1 ~ 0X80AA
 | 
					
						
							|  |  |  |  | 	0X0F,0X03,0X06,0X10,0X42,0XF8,0X0F,0X14,0X00,0X00,		// 0X80AB ~ 0X80B4
 | 
					
						
							|  |  |  |  | 	0X00,0X00, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /******************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ:	0x80B7~0X80C4 | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>  :	<EFBFBD>ĸ<EFBFBD>Ӧͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>оƬͨ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ըı䴥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ֱɨ<EFBFBD>跽<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | *******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //	0X08,0X0A,0X0C,0X0E,0X10,0X12,0X14,0X16,0X18,0X1A,		// ɨ<>跽<EFBFBD><E8B7BD><EFBFBD><EFBFBD> <20><> <20><> <20><>
 | 
					
						
							|  |  |  |  | 	0X1A,0X18,0X16,0X14,0X12,0X10,0X0E,0X0C,0X0A,0X08,		// ɨ<>跽<EFBFBD><E8B7BD><EFBFBD><EFBFBD> <20><> <20><> <20><>	
 | 
					
						
							|  |  |  |  | 	0X00,0X00,0X00,0X00,												// δʹ<CEB4>õĸ<C3B5>Ӧͨ<D3A6><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							|  |  |  |  | /******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,		// <20><><EFBFBD><EFBFBD><EFBFBD>üĴ<C3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	0X00,0X00,0X00,0X00,0x00,0x00, 								// <20><><EFBFBD><EFBFBD><EFBFBD>üĴ<C3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							|  |  |  |  | /*******************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ:	0x80D5~0X80EE | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>  :	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>оƬͨ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ըı䴥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽɨ<EFBFBD>跽<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ********************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //	0x00,0x02,0x04,0x05,0x06,0x08,0x0a,0x0c, 				// ɨ<>跽<EFBFBD><E8B7BD><EFBFBD><EFBFBD> <20><> <20><> <20><>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | //	0x0e,0x1d,0x1e,0x1f,0x20,0x22,0x24,0x28,0x29,      
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  |  0X29,0X28,0X24,0X22,0X20,0X1F,0X1E,0X1D,				// ɨ<>跽<EFBFBD><E8B7BD><EFBFBD><EFBFBD> <20><> <20><> <20><>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	0X0E,0X0C,0X0A,0X08,0X06,0X05,0X04,0X02,0X00,	 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0xff, 	// δʹ<CEB4>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							|  |  |  |  | /*******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,		// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,		// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	0XFF,0XFF,0XFF,0XFF,												// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_Reset | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD>λGT9147 | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>λGT9147<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>IIC<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0xBA/0xBB | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | void GT9XX_Reset(void) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_INT_Out();	//	<09><>INT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	GPIO_ResetBits(Touch_INT_PORT,Touch_INT_PIN); 	// <20><>INT<4E><54><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	GPIO_SetBits  (Touch_RST_PORT,Touch_RST_PIN);	// <20><>RST<53><54><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	Touch_IIC_Delay(10000);	 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	// <20><>ʼִ<CABC>и<EFBFBD>λ
 | 
					
						
							|  |  |  |  | 	//	INT<4E><54><EFBFBD>ű<EFBFBD><C5B1>ֵ͵<D6B5>ƽ<EFBFBD><C6BD><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϊ0XBA/0XBB
 | 
					
						
							|  |  |  |  | 	GPIO_ResetBits(Touch_RST_PORT,Touch_RST_PIN);			// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>ʱоƬִ<C6AC>и<EFBFBD>λ
 | 
					
						
							|  |  |  |  | 	Touch_IIC_Delay(350000);										// <20><>ʱ
 | 
					
						
							|  |  |  |  | 	GPIO_SetBits  (Touch_RST_PORT,Touch_RST_PIN);			// <20><><EFBFBD>߸<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	Touch_IIC_Delay(350000);										// <20><>ʱ
 | 
					
						
							|  |  |  |  | 	Touch_INT_In();													// INT<4E><54><EFBFBD><EFBFBD>תΪ<D7AA><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	Touch_IIC_Delay(350000);										// <20><>ʱ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_WriteHandle | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	addr - Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	SUCCESS - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> | 
					
						
							|  |  |  |  | *				ERROR	  - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	GT9XX д<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | u8 GT9XX_WriteHandle (u16 addr) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	u8 status;	// ״̬<D7B4><CCAC>־λ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_Start();	// <20><><EFBFBD><EFBFBD>IICͨ<43><CDA8>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if( Touch_IIC_WriteByte(GT9XX_IIC_WADDR) == ACK_OK ) //д<><D0B4><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		if( Touch_IIC_WriteByte((u8)(addr >> 8)) == ACK_OK ) //д<><D0B4>16λ<36><CEBB>ַ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			if( Touch_IIC_WriteByte((u8)(addr)) != ACK_OK ) | 
					
						
							|  |  |  |  | 			{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 				status = ERROR;	// <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 			}			 | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	status = SUCCESS;	// <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	return status;	 | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_WriteData | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	addr - Ҫд<EFBFBD><EFBFBD><EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *				value - Ҫд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	SUCCESS - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> | 
					
						
							|  |  |  |  | *				ERROR	  - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	GT9XX дһ<EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>һ<EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | u8 GT9XX_WriteData (u16 addr,u8 value) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	u8 status; | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_Start(); //<2F><><EFBFBD><EFBFBD>IICͨѶ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if( GT9XX_WriteHandle(addr) == SUCCESS)	//д<><D0B4>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļĴ<C4BC><C4B4><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		if (Touch_IIC_WriteByte(value) != ACK_OK) //д<><D0B4><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 			status = ERROR;	// д<><D0B4>ʧ<EFBFBD><CAA7>					
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		} | 
					
						
							|  |  |  |  | 	}	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_Stop(); // ֹͣͨѶ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	status = SUCCESS;	// д<><D0B4><EFBFBD>ɹ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	return status; | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_WriteReg | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	addr - Ҫд<EFBFBD><EFBFBD><EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ | 
					
						
							|  |  |  |  | *				cnt  - <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *				value - Ҫд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	SUCCESS - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> | 
					
						
							|  |  |  |  | *				ERROR	  - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	GT9XX д<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>оƬ<EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | u8 GT9XX_WriteReg (u16 addr, u8 cnt, u8 *value) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	u8 status = 0; | 
					
						
							|  |  |  |  | 	u8 i = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_Start();	// <20><><EFBFBD><EFBFBD>IICͨ<43><CDA8>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if( GT9XX_WriteHandle(addr) == SUCCESS) //д<><D0B4>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļĴ<C4BC><C4B4><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		for(i = 0 ; i < cnt; i++)		// <20><><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 			Touch_IIC_WriteByte(value[i]);	// д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		}					 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		Touch_IIC_Stop();		// ֹͣIICͨ<43><CDA8>
 | 
					
						
							|  |  |  |  | 		status = SUCCESS;		// д<><D0B4><EFBFBD>ɹ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | 	else | 
					
						
							|  |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		Touch_IIC_Stop();		// ֹͣIICͨ<43><CDA8>
 | 
					
						
							|  |  |  |  | 		status = ERROR;		// д<><D0B4>ʧ<EFBFBD><CAA7>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	return status;	 | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_ReadReg | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	addr - Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ | 
					
						
							|  |  |  |  | *				cnt  - <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *				value - Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	SUCCESS - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> | 
					
						
							|  |  |  |  | *				ERROR	  - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	GT9XX <EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>оƬ<EFBFBD>ļĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | u8 GT9XX_ReadReg (u16 addr, u8 cnt, u8 *value) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	u8 status = 0; | 
					
						
							|  |  |  |  | 	u8 i = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	status = ERROR; | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_Start();	// <20><><EFBFBD><EFBFBD>IICͨ<43><CDA8>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if( GT9XX_WriteHandle(addr) == SUCCESS) 	//	д<><D0B4>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļĴ<C4BC><C4B4><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		Touch_IIC_Start(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IICͨѶ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		if (Touch_IIC_WriteByte(GT9XX_IIC_RADDR) == ACK_OK)	// <20><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 			for(i = 0 ; i < cnt; i++)	// <20><><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 			{ | 
					
						
							|  |  |  |  | 				if (i == (cnt - 1)) | 
					
						
							|  |  |  |  | 				{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 					value[i] = Touch_IIC_ReadByte(0);	//	<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ź<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 				} | 
					
						
							|  |  |  |  | 				else | 
					
						
							|  |  |  |  | 				{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 					value[i] = Touch_IIC_ReadByte(1);	// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ź<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 				} | 
					
						
							|  |  |  |  | 			}					 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 			Touch_IIC_Stop();	// ֹͣIICͨ<43><CDA8>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 			status = SUCCESS; | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 	Touch_IIC_Stop(); | 
					
						
							|  |  |  |  | 	return (status);	 | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_SendCfg | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GT9147<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GT9147<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>籣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>úã<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD> | 
					
						
							|  |  |  |  | *				<EFBFBD>û<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȻƵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>Ὣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD>Flashд<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | void GT9XX_SendCfg(void) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	u8 GT9XX_Check[2]; | 
					
						
							|  |  |  |  | 	u8 i=0; | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	GT9XX_Check[1] = 1;		// <20><><EFBFBD>ø<EFBFBD><C3B8>±<EFBFBD>־
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							|  |  |  |  | 	for(i=0;i<sizeof(GT9XX_CFG_DATA);i++) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		GT9XX_Check[0] += GT9XX_CFG_DATA[i];	//<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  |    GT9XX_Check [0] = (~GT9XX_Check[0])+1;		 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	GT9XX_WriteReg(0X8047,sizeof(GT9XX_CFG_DATA),(u8*)GT9XX_CFG_DATA);	//	<09><><EFBFBD>ͼĴ<CDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	GT9XX_WriteReg(0X80FF,2,GT9XX_Check); // д<><D0B4>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | }  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:	GT9XX_ReadCfg | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:	<EFBFBD><EFBFBD>ȡGT9147<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>:ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>		 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | void GT9XX_ReadCfg(void) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	u8  GT9XX_Cfg[184];	// <20><><EFBFBD>鳤<EFBFBD><E9B3A4>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD>оƬ<D0BE>ļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	u16 i = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	printf("-----------------------------------------\r\n");	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	printf("<EFBFBD><EFBFBD>ȡоƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n"); | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	GT9XX_ReadReg (GT9XX_CFG_ADDR,184,GT9XX_Cfg);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	for(i=0;i<184;i++) | 
					
						
							|  |  |  |  | 	{	 | 
					
						
							|  |  |  |  | 		if( (i%10 == 0) && (i>0) )			 | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			printf("\r\n"); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 		printf("0X%.2x,",GT9XX_Cfg[i]); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 	printf("\r\n-----------------------------------------\r\n");	 | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: Touch_Init | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ:	 SUCCESS  - <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> | 
					
						
							|  |  |  |  | *            ERROR 	 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>	 | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IC<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>: <EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Եĵ<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ⴥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>洢<EFBFBD><EFBFBD> touchInfo <EFBFBD>ṹ<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | u8 Touch_Init(void) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	u8 GT9XX_Info[11];	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IC<49><43>Ϣ
 | 
					
						
							|  |  |  |  | 	u8 cfgVersion = 0;	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð汾
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	Touch_IIC_GPIO_Config(); 	// <20><>ʼ<EFBFBD><CABC>IIC<49><43><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	GT9XX_Reset();					// GT9147 <20><>λ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //	 //<2F><>ȡGT9147<34><37><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>	
 | 
					
						
							|  |  |  |  | //	//	ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ԭ<EFBFBD><D4AD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>ؼ<EFBFBD><D8BC>IJ<EFBFBD><C4B2><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | //	GT9XX_ReadCfg();	
 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GT9147<34><37><EFBFBD>Ե<EFBFBD><D4B5>籣<EFBFBD><E7B1A3><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | //	//<2F>û<EFBFBD><C3BB>IJ<DEB8><C4B2><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>ȻƵ<C8BB><C6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>Ὣ<EFBFBD><E1BDAB><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>Flashд<68><D0B4>	
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | //	GT9XX_SendCfg();	
 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	GT9XX_ReadReg (GT9XX_ID_ADDR,11,GT9XX_Info);		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IC<49><43>Ϣ
 | 
					
						
							|  |  |  |  | 	GT9XX_ReadReg (GT9XX_CFG_ADDR,1,&cfgVersion);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð汾
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if( GT9XX_Info[0] == '9' )		//	<09>жϵ<D0B6>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7>Ƿ<EFBFBD>Ϊ <20><>9<EFBFBD><39>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //		printf("Touch ID<49><44> GT%.4s \r\n",GT9XX_Info);									// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>ID
 | 
					
						
							|  |  |  |  | //		printf("<22>̼<EFBFBD><CCBC>汾<EFBFBD><E6B1BE> 0X%.4x\r\n",(GT9XX_Info[5]<<8) + GT9XX_Info[4]);	// оƬ<D0BE>̼<EFBFBD><CCBC>汾
 | 
					
						
							|  |  |  |  | //		printf("<22><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ʣ<EFBFBD>%d * %d\r\n",(GT9XX_Info[7]<<8) + GT9XX_Info[6],(GT9XX_Info[9]<<8) +GT9XX_Info[8]);	// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>		
 | 
					
						
							|  |  |  |  | //		printf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð汾<C3B0><E6B1BE> 0X%.2x \r\n",cfgVersion);	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð汾	
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		return SUCCESS; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 	else | 
					
						
							|  |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //		printf("δ<><CEB4><EFBFBD><EFBFBD><E2B5BD><EFBFBD><EFBFBD>IC\r\n");			//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><E2B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		return ERROR; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*****************************************************************************************
 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: Touch_Scan | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ: <EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD> | 
					
						
							|  |  |  |  | *	˵    <EFBFBD><EFBFBD>: <EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Եĵ<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ⴥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>洢<EFBFBD><EFBFBD> touchInfo <EFBFBD>ṹ<EFBFBD><EFBFBD> | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | ******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | void Touch_Scan(void) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  |  	u8  touchData[2 + 8 * TOUCH_MAX ]; //<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	u8  i = 0;	 | 
					
						
							|  |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	GT9XX_ReadReg (GT9XX_READ_ADDR,2 + 8 * TOUCH_MAX ,touchData);	//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	GT9XX_WriteData (GT9XX_READ_ADDR,0);	//	<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE>ļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD>־λ
 | 
					
						
							|  |  |  |  | 	touchInfo.num = touchData[0] & 0x0f;	// ȡ<><C8A1>ǰ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 	if ( (touchInfo.num >= 1) && (touchInfo.num <=5) ) 	//	<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-5 ֮<><D6AE>ʱ
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		for(i=0;i<touchInfo.num;i++)		// ȡ<><C8A1>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | //			touchInfo.y[i] = 272-((touchData[5+8*i]<<8) | touchData[4+8*i]);	// <20><>ȡY<C8A1><59><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | //			touchInfo.x[i] = 480-((touchData[3+8*i]<<8) | touchData[2+8*i]);	//	<09><>ȡX<C8A1><58><EFBFBD><EFBFBD>			
 | 
					
						
							|  |  |  |  | 			touchInfo.y[i] = ((touchData[5+8*i]<<8) | touchData[4+8*i]);	// <20><>ȡY<C8A1><59><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			touchInfo.x[i] = ((touchData[3+8*i]<<8) | touchData[2+8*i]);	//	<09><>ȡX<C8A1><58><EFBFBD><EFBFBD>			
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		touchInfo.flag = 1;	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | 	else                        | 
					
						
							|  |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		for(i=0;i<TOUCH_MAX;i++)		// ȡ<><C8A1>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 			touchInfo.y[i] =0;	// <20><>ȡY<C8A1><59><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			touchInfo.x[i] =0;	//	<09><>ȡX<C8A1><58><EFBFBD><EFBFBD>			
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2025-07-05 19:47:28 +08:00
										 |  |  |  | 		touchInfo.flag = 0;	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>0<EFBFBD><30><EFBFBD><EFBFBD><DEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2025-06-27 00:32:57 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | TouchStructure *Touch_GetState(void) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	return &touchInfo;  | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /******************************************************************************************/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 |