STM32H750XB_RT-THREAD/26-27-LTDC—液晶显示/4-LTDC—液晶显示中文(字库在SD卡)/User/touch/bsp_i2c_touch.h

77 lines
2.9 KiB
C
Raw Normal View History

2025-07-21 06:34:29 +00:00
#ifndef __I2C_TOUCH_H
#define __I2C_TOUCH_H
#include "stm32h7xx.h"
/*ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IIC<49><43><EFBFBD><EFBFBD>SOFT_IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1<CEAA><31>Ӳ<EFBFBD><D3B2>IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
!!ʹ<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD>IICʱ<EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>󣬲<EFBFBD><EFBFBD>Ƽ<EFBFBD>*/
#define SOFT_IIC 1
/*<2A>ʹ<E8B6A8>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>IIC<49><EFBFBD><E8B1B8>ַ*/
/* <20><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>4.3<EFBFBD><EFBFBD>/5<><35><EFBFBD><EFBFBD>RGB<47><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B4A5>оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GT1151QM<51><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43>ַ<EFBFBD><D6B7>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>һ<EFBFBD>µ<EFBFBD>ַ */
#define LCD_TOUCH_IC_GT1151QM
#ifndef LCD_TOUCH_IC_GT1151QM
#define GTP_ADDRESS 0xBA
#else
#define GTP_ADDRESS 0x28
/* 4.3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GT1151QM <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>оƬ<D0BE><C6AC>
ֻ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ѡ5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1ѡ<EFBFBD>У<EFBFBD>*/
#define TOUCH_GT1151QM_LCD_4_3 0 //ʹ<>õ<EFBFBD><C3B5><EFBFBD>4.3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(GT1151QM)
#define TOUCH_GT1151QM_LCD_5 1 //ʹ<>õ<EFBFBD><C3B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(GT1151QM)
#endif
#define I2CT_FLAG_TIMEOUT ((uint32_t)0x1000)
#define I2CT_LONG_TIMEOUT ((uint32_t)(10 * I2CT_FLAG_TIMEOUT))
/*I2C<32><43><EFBFBD><EFBFBD>*/
#define GTP_I2C I2C2
#define GTP_I2C_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE()
#define GTP_I2C_CLK_INIT RCC_APB1PeriphClockCmd
#define GTP_I2C_SCL_PIN GPIO_PIN_4
#define GTP_I2C_SCL_GPIO_PORT GPIOH
#define GTP_I2C_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE()
#define GTP_I2C_SCL_AF GPIO_AF4_I2C2
#define GTP_I2C_SDA_PIN GPIO_PIN_5
#define GTP_I2C_SDA_GPIO_PORT GPIOH
#define GTP_I2C_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE()
#define GTP_I2C_SDA_AF GPIO_AF4_I2C2
/*<2A><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>*/
#define GTP_RST_GPIO_PORT GPIOG
#define GTP_RST_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE()
#define GTP_RST_GPIO_PIN GPIO_PIN_7
/*<2A>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>*/
#define GTP_INT_GPIO_PORT GPIOG
#define GTP_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE()
#define GTP_INT_GPIO_PIN GPIO_PIN_3
#define GTP_INT_EXTI_IRQ EXTI3_IRQn
/*<2A>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define GTP_IRQHandler EXTI3_IRQHandler
//<2F><><EFBFBD><EFBFBD>IICʹ<43>õĺ<C3B5>
#define I2C_SCL_1() HAL_GPIO_WritePin(GTP_I2C_SCL_GPIO_PORT, GTP_I2C_SCL_PIN,GPIO_PIN_SET) /* SCL = 1 */
#define I2C_SCL_0() HAL_GPIO_WritePin(GTP_I2C_SCL_GPIO_PORT, GTP_I2C_SCL_PIN,GPIO_PIN_RESET) /* SCL = 0 */
#define I2C_SDA_1() HAL_GPIO_WritePin(GTP_I2C_SDA_GPIO_PORT, GTP_I2C_SDA_PIN,GPIO_PIN_SET) /* SDA = 1 */
#define I2C_SDA_0() HAL_GPIO_WritePin(GTP_I2C_SDA_GPIO_PORT, GTP_I2C_SDA_PIN,GPIO_PIN_RESET) /* SDA = 0 */
#define I2C_SDA_READ() HAL_GPIO_ReadPin(GTP_I2C_SDA_GPIO_PORT, GTP_I2C_SDA_PIN) /* <20><>SDA<44><41><EFBFBD><EFBFBD>״̬ */
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
void I2C_Touch_Init(void);
uint32_t I2C_WriteBytes(uint8_t ClientAddr,uint8_t* pBuffer, uint8_t NumByteToWrite);
uint32_t I2C_ReadBytes(uint8_t ClientAddr,uint8_t* pBuffer, uint16_t NumByteToRead);
void I2C_ResetChip(void);
void I2C_GTP_IRQDisable(void);
void I2C_GTP_IRQEnable(void);
#endif /* __I2C_TOUCH_H */