硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5596|回复: 4
收起左侧

有做过FT5206驱动的吗

[复制链接]

1

主题

5

回帖

1

积分

新手上路

积分
1
发表于 2014-8-18 17:19:43 | 显示全部楼层 |阅读模式
有做过FT5206驱动的吗,能不能给我参考一下。谢谢了
回复

使用道具 举报

1

主题

5

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2014-8-18 21:21:53 | 显示全部楼层
自己来顶一下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2014-8-19 10:25:45 | 显示全部楼层
这个没有做过哦,帮顶
回复

使用道具 举报

0

主题

3

回帖

0

积分

新手上路

积分
0
发表于 2014-8-19 16:26:49 | 显示全部楼层
void TP_Read(void)
{
GUI_PID_STATE TS_State;
i2cBuffer[0] = 0x03;
while(HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)i2cBuffer, 1, 10000)!= HAL_OK) {
    if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
      Error_Handler();
    }
}
while(HAL_I2C_Master_Receive(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t *)i2cBuffer, 1, 10000) != HAL_OK){
     if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
              Error_Handler();
        }   
}
TOUCH_PHX = i2cBuffer[0]&0x0F;
TOUCH_EVENT = i2cBuffer[0]>>6;
i2cBuffer[0] = 0x04;
while(HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)i2cBuffer, 1, 10000)!= HAL_OK) {
    if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
      Error_Handler();
    }
}
while(HAL_I2C_Master_Receive(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t *)i2cBuffer, 1, 10000) != HAL_OK){
     if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
              Error_Handler();
        }   
}
TOUCH_PHX = (TOUCH_PHX<<8)+i2cBuffer[0];   
i2cBuffer[0] = 0x05;
while(HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)i2cBuffer, 1, 10000)!= HAL_OK) {
    if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
      Error_Handler();
    }
}
while(HAL_I2C_Master_Receive(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t *)i2cBuffer, 1, 10000) != HAL_OK){
     if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
              Error_Handler();
        }   
}
TOUCH_PHY = i2cBuffer[0];
i2cBuffer[0] = 0x06;
while(HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)i2cBuffer, 1, 10000)!= HAL_OK) {
    if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
      Error_Handler();
    }
}
while(HAL_I2C_Master_Receive(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t *)i2cBuffer, 1, 10000) != HAL_OK){
     if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF){
              Error_Handler();
        }   
}
TOUCH_PHY = (TOUCH_PHY<<8)+i2cBuffer[0];   

    if((TOUCH_PHY&0x0F00)>=0x0400)
        TOUCH_PHY = (TOUCH_PHY&0x07FF)-0x0380;
    else
        TOUCH_PHY = TOUCH_PHY&0x07FF;
    if(TOUCH_EVENT == EVT_PUT_UP){
        TS_State.Pressed = 0;
        TS_State.Layer = 0;
        TS_State.x = TOUCH_prex;
              TS_State.y =  TOUCH_prey;
            GUI_TOUCH_StoreStateEx(&TS_State);
        }
    else if(TOUCH_EVENT == EVT_CONTACT || TOUCH_EVENT == EVT_PUT_DOWN){
        if(TOUCH_PHX<MINI_PHX) TOUCH_PHX = MINI_PHX;
        else if(TOUCH_PHX>MAX_PHX) TOUCH_PHX = MAX_PHX;
        
        if(TOUCH_PHY < MINI_PHY) TOUCH_PHY = MINI_PHY;
        else if(TOUCH_PHY > MAX_PHY) TOUCH_PHY = MAX_PHY;

        TOUCH_PHX = ((TOUCH_PHX-MINI_PHX)*480)/(MAX_PHX - MINI_PHX);
        TOUCH_PHY = ((TOUCH_PHY-MINI_PHY)*800)/(MAX_PHY - MINI_PHY);
        //GUI_TOUCH_StoreState(TOUCH_PHY, 479-TOUCH_PHX);   
        TS_State.Pressed = 1;
    TS_State.Layer = 0;
      TS_State.x = TOUCH_PHY;
      TS_State.y = 479-TOUCH_PHX;
      TOUCH_prex = TOUCH_PHY;
      TOUCH_prey = 479-TOUCH_PHX;
    GUI_TOUCH_StoreStateEx(&TS_State);
        //printf("%d %d\\n",TOUCH_PHY, 479-TOUCH_PHX);
    }
}
且利欧
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2022-3-27 20:24:56 | 显示全部楼层
shixiaoling3 发表于 2014-8-19 16:26
**** 作者被禁止或删除 内容自动屏蔽 ****

有这个的资料吗,产品开发手册
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-18 03:37 , Processed in 0.226377 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表