找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8134|回复: 13
打印 上一主题 下一主题
收起左侧

FT6336UA触摸单片机驱动源程序

  [复制链接]
跳转到指定楼层
楼主
ID:543801 发表于 2019-5-21 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FT6336UA触摸驱动用于FT6336触摸芯片软件调试参考


单片机源程序如下:
  1. #include "FT6336.h"
  2. #include "lcd.h"
  3. #include "delay.h"
  4. #include "tp_iic.h"

  5. //---------------------------------------------------------------------------------------------------
  6. //#define LED_EN PBout(12)//RST信号
  7. void FT6336_init(void)
  8. {
  9.          CT_IIC_Init();
  10. }

  11. u8 FT6336_read_firmware_id(void)
  12. {
  13.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_FIRMARE_ID);
  14. }
  15. u8 FT6336_read_device_mode(void)
  16. {
  17.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_DEVICE_MODE);
  18. }

  19. u8 FT6336_read_td_status(void)
  20. {
  21.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_TD_STATUS);
  22. }

  23. //第一触点
  24. u8 FT6336_read_touch1_event(void)
  25. {
  26.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH1_EVENT)>>4;
  27. }

  28. u8 FT6336_read_touch1_id(void)
  29. {
  30.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH1_ID)>>4;
  31. }

  32. //左下角为坐标零点,水平Y轴,垂直X轴
  33. //Y轴范围0~479
  34. //X轴范围0~479
  35. //touch1和touch2排列顺序为按面积排列,而ID号为按下的时间先后标号,该标号可代表按下的手指
  36. //在第一点按下后ID记为0,事件为8,而抬起后ID与坐标保持最后数值,事件为4,此时第二个点数据一直为FF
  37. //在第一点按下前提下按第二个点,ID记为1,事件为8,抬起后全恢复FF,而当第二个点的接触面积大于第一个点时,
  38. //它将保持ID与坐标前提下与第一个点更换存储地址,第一个点抬起后,第二个点的依旧ID为1
  39. //按下第三个点时,将与其它两个点进行面积对比后,直接抛弃面积最小的点
  40. u16 FT6336_read_touch1_x(void)
  41. {
  42.         u8 read_buf[2];
  43.         CT_IIC_read_addr_str(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH1_X,2,read_buf);
  44.         return ((read_buf[0]&0x0f)<<8)|read_buf[1];
  45. }

  46. u16 FT6336_read_touch1_y(void)
  47. {
  48.         u8 read_buf[2];
  49.         CT_IIC_read_addr_str(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH1_Y,2,read_buf);
  50.         return ((read_buf[0]&0x0f)<<8)|read_buf[1];
  51. }

  52. //第二触点
  53. u8 FT6336_read_touch2_event(void)
  54. {
  55.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH2_EVENT)>>4;
  56. }

  57. u8 FT6336_read_touch2_id(void)
  58. {
  59.         return CT_IIC_read_addr_byte(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH2_ID)>>4;
  60. }

  61. u16 FT6336_read_touch2_x(void)
  62. {
  63.         u8 read_buf[2];
  64.         CT_IIC_read_addr_str(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH2_X,2,read_buf);
  65.         return ((read_buf[0]&0x0f)<<8)|read_buf[1];
  66. }

  67. u16 FT6336_read_touch2_y(void)
  68. {
  69.         u8 read_buf[2];
  70.         CT_IIC_read_addr_str(I2C_ADDR_FT6336,FT6336_ADDR_TOUCH2_Y,2,read_buf);
  71.         return ((read_buf[0]&0x0f)<<8)|read_buf[1];
  72. }
复制代码
  1. #ifndef __FT6336_H
  2. #define __FT6336_H
  3. #include "sys.h"            

  4. #define LED_EN PBout(12)

  5. #define I2C_ADDR_FT6336 0x38

  6. #define FT6336_ADDR_DEVICE_MODE         0x00
  7. #define FT6336_ADDR_TD_STATUS                 0x02

  8. #define FT6336_ADDR_TOUCH1_EVENT         0x03
  9. #define FT6336_ADDR_TOUCH1_ID                 0x05
  10. #define FT6336_ADDR_TOUCH1_X                 0x03
  11. #define FT6336_ADDR_TOUCH1_Y                 0x05

  12. #define FT6336_ADDR_TOUCH2_EVENT         0x09
  13. #define FT6336_ADDR_TOUCH2_ID                 0x0B
  14. #define FT6336_ADDR_TOUCH2_X                 0x09
  15. #define FT6336_ADDR_TOUCH2_Y                 0x0B

  16. #define FT6336_ADDR_FIRMARE_ID                 0xA6

  17. void FT6336_init(void);
  18. u8 FT6336_read_firmware_id(void);
  19. u8 FT6336_read_device_mode(void);
  20. u8 FT6336_read_td_status(void);
  21. u16 FT6336_read_touch1_x(void);
  22. u16 FT6336_read_touch1_y(void);
  23. u8 FT6336_read_touch1_event(void);
  24. u8 FT6336_read_touch1_id(void);

  25. u8 FT6336_read_touch2_event(void);
  26. u8 FT6336_read_touch2_id(void);
  27. u16 FT6336_read_touch2_x(void);
  28. u16 FT6336_read_touch2_y(void);

  29. #endif
复制代码




评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:575430 发表于 2019-7-1 15:13 | 只看该作者
看看,应该有用
回复

使用道具 举报

板凳
ID:613322 发表于 2019-9-18 22:04 来自手机 | 只看该作者
可以,挺有用的
回复

使用道具 举报

地板
ID:672251 发表于 2019-12-24 11:58 | 只看该作者
过来学习一下,找了很多地方都找不到对应的源代码
回复

使用道具 举报

5#
ID:426176 发表于 2020-6-22 13:08 | 只看该作者
我正在找这个驱动呢
回复

使用道具 举报

6#
ID:430308 发表于 2020-7-15 10:43 | 只看该作者
我也正在找这个驱动,有没有工程参考
回复

使用道具 举报

7#
ID:758587 发表于 2020-10-28 17:59 | 只看该作者
多谢楼主分享,可以下载吗?
回复

使用道具 举报

8#
ID:923887 发表于 2021-5-19 15:35 | 只看该作者
mark一下,有分以后下载
回复

使用道具 举报

9#
ID:954064 发表于 2021-7-17 11:41 | 只看该作者
下载下来看看,希望有用。
回复

使用道具 举报

10#
ID:16078 发表于 2021-10-16 18:15 | 只看该作者
有用的资料,下载下来看看
回复

使用道具 举报

11#
ID:955678 发表于 2022-5-12 16:29 | 只看该作者
下载看看或许用得到
回复

使用道具 举报

12#
ID:1040455 发表于 2022-11-4 09:31 | 只看该作者
我是敦泰的需要FAE支持的话这边可以安排哦
回复

使用道具 举报

13#
ID:1052005 发表于 2022-11-15 00:01 | 只看该作者
zeehom 发表于 2022-11-4 09:31
我是敦泰的需要FAE支持的话这边可以安排哦

您好,我们最近在进行显示屏相关研究,目前想用FT6336这款片子,能否获取FAE支持?
回复

使用道具 举报

14#
ID:649923 发表于 2023-11-13 11:48 | 只看该作者
zeehom 发表于 2022-11-4 09:31
我是敦泰的需要FAE支持的话这边可以安排哦

你好, 我们想要一个 敦泰的触摸板方案
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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