70 lines
2.8 KiB
C
70 lines
2.8 KiB
C
#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 */
|