2019-12-12 17:18:04 +08:00

70 lines
2.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __I2C_TOUCH_H
#define __I2C_TOUCH_H
#ifdef __cplusplus
extern "C" {
#endif
#include "stm32f4xx_hal.h"
#include "main.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
!!ʹ<><CAB9>Ӳ<EFBFBD><D3B2>IICʱ<43>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>׳<EFBFBD><D7B3>ִ<EFBFBD><D6B4>󣬲<EFBFBD><F3A3ACB2>Ƽ<EFBFBD>*/
#define SOFT_IIC 1
/*<2A>ʹ<E8B6A8>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>IIC<49><EFBFBD><E8B1B8>ַ*/
#define GTP_ADDRESS 0xBA
#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 RCC_APB1Periph_I2C2
#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 RCC_AHB1Periph_GPIOH
#define GTP_I2C_SCL_SOURCE GPIO_PinSource4
#define GTP_I2C_SCL_AF GPIO_AF_I2C2
#define GTP_I2C_SDA_PIN GPIO_Pin_5
#define GTP_I2C_SDA_GPIO_PORT GPIOH
#define GTP_I2C_SDA_GPIO_CLK RCC_AHB1Periph_GPIOH
#define GTP_I2C_SDA_SOURCE GPIO_PinSource5
#define GTP_I2C_SDA_AF GPIO_AF_I2C2
/*<2A><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>*/
#define GTP_RST_GPIO_PORT GPIOD
#define GTP_RST_GPIO_CLK RCC_AHB1Periph_GPIOD
#define GTP_RST_GPIO_PIN GPIO_Pin_11
/*<2A>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>*/
#define GTP_INT_GPIO_PORT GPIOD
#define GTP_INT_GPIO_CLK RCC_AHB1Periph_GPIOD
#define GTP_INT_GPIO_PIN GPIO_Pin_13
#define GTP_INT_EXTI_PORTSOURCE EXTI_PortSourceGPIOD
#define GTP_INT_EXTI_PINSOURCE EXTI_PinSource13
#define GTP_INT_EXTI_LINE EXTI_Line13
#define GTP_INT_EXTI_IRQ EXTI15_10_IRQn
//IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SDA_IN() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=0<<5*2;} //PH5<48><35><EFBFBD><EFBFBD>ģʽ
#define SDA_OUT() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=1<<5*2;} //PH5<48><35><EFBFBD><EFBFBD>ģʽ
//<2F><><EFBFBD><EFBFBD>IICʹ<43>õĺ<C3B5>
#define I2C_SCL_1() HAL_GPIO_WritePin(I2C_SCL_GPIO_Port, I2C_SCL_Pin, GPIO_PIN_SET) /* SCL = 1 */
#define I2C_SCL_0() HAL_GPIO_WritePin(I2C_SCL_GPIO_Port, I2C_SCL_Pin, GPIO_PIN_RESET) /* SCL = 0 */
#define I2C_SDA_1() HAL_GPIO_WritePin(I2C_SDA_GPIO_Port, I2C_SDA_Pin, GPIO_PIN_SET) /* SDA = 1 */
#define I2C_SDA_0() HAL_GPIO_WritePin(I2C_SDA_GPIO_Port, I2C_SDA_Pin, GPIO_PIN_RESET) /* SDA = 0 */
#define I2C_SDA_READ() HAL_GPIO_ReadPin(I2C_SDA_GPIO_Port, 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);
#ifdef __cplusplus
}
#endif
#endif /* __I2C_TOUCH_H */