找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9843|回復(fù): 13
收起左側(cè)

FT6336UA觸摸單片機(jī)驅(qū)動源程序

  [復(fù)制鏈接]
ID:543801 發(fā)表于 2019-5-21 14:53 | 顯示全部樓層 |閱讀模式
FT6336UA觸摸驅(qū)動用于FT6336觸摸芯片軟件調(diào)試參考
0.png

單片機(jī)源程序如下:
  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. //第一觸點(diǎn)
  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. //左下角為坐標(biāo)零點(diǎn),水平Y(jié)軸,垂直X軸
  33. //Y軸范圍0~479
  34. //X軸范圍0~479
  35. //touch1和touch2排列順序?yàn)榘疵娣e排列,而ID號為按下的時間先后標(biāo)號,該標(biāo)號可代表按下的手指
  36. //在第一點(diǎn)按下后ID記為0,事件為8,而抬起后ID與坐標(biāo)保持最后數(shù)值,事件為4,此時第二個點(diǎn)數(shù)據(jù)一直為FF
  37. //在第一點(diǎn)按下前提下按第二個點(diǎn),ID記為1,事件為8,抬起后全恢復(fù)FF,而當(dāng)?shù)诙䝼點(diǎn)的接觸面積大于第一個點(diǎn)時,
  38. //它將保持ID與坐標(biāo)前提下與第一個點(diǎn)更換存儲地址,第一個點(diǎn)抬起后,第二個點(diǎn)的依舊ID為1
  39. //按下第三個點(diǎn)時,將與其它兩個點(diǎn)進(jìn)行面積對比后,直接拋棄面積最小的點(diǎn)
  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. //第二觸點(diǎn)
  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. }
復(fù)制代碼
  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
復(fù)制代碼




評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:575430 發(fā)表于 2019-7-1 15:13 | 顯示全部樓層
看看,應(yīng)該有用
回復(fù)

使用道具 舉報

ID:613322 發(fā)表于 2019-9-18 22:04 來自手機(jī) | 顯示全部樓層
可以,挺有用的
回復(fù)

使用道具 舉報

ID:672251 發(fā)表于 2019-12-24 11:58 | 顯示全部樓層
過來學(xué)習(xí)一下,找了很多地方都找不到對應(yīng)的源代碼
回復(fù)

使用道具 舉報

ID:426176 發(fā)表于 2020-6-22 13:08 | 顯示全部樓層
我正在找這個驅(qū)動呢
回復(fù)

使用道具 舉報

ID:430308 發(fā)表于 2020-7-15 10:43 | 顯示全部樓層
我也正在找這個驅(qū)動,有沒有工程參考
回復(fù)

使用道具 舉報

ID:758587 發(fā)表于 2020-10-28 17:59 | 顯示全部樓層
多謝樓主分享,可以下載嗎?
回復(fù)

使用道具 舉報

ID:923887 發(fā)表于 2021-5-19 15:35 | 顯示全部樓層
mark一下,有分以后下載
回復(fù)

使用道具 舉報

ID:954064 發(fā)表于 2021-7-17 11:41 | 顯示全部樓層
下載下來看看,希望有用。
回復(fù)

使用道具 舉報

ID:16078 發(fā)表于 2021-10-16 18:15 | 顯示全部樓層
有用的資料,下載下來看看
回復(fù)

使用道具 舉報

ID:955678 發(fā)表于 2022-5-12 16:29 | 顯示全部樓層
下載看看或許用得到
回復(fù)

使用道具 舉報

ID:1040455 發(fā)表于 2022-11-4 09:31 | 顯示全部樓層
我是敦泰的需要FAE支持的話這邊可以安排哦
回復(fù)

使用道具 舉報

ID:1052005 發(fā)表于 2022-11-15 00:01 | 顯示全部樓層
zeehom 發(fā)表于 2022-11-4 09:31
我是敦泰的需要FAE支持的話這邊可以安排哦

您好,我們最近在進(jìn)行顯示屏相關(guān)研究,目前想用FT6336這款片子,能否獲取FAE支持?
回復(fù)

使用道具 舉報

ID:649923 發(fā)表于 2023-11-13 11:48 | 顯示全部樓層
zeehom 發(fā)表于 2022-11-4 09:31
我是敦泰的需要FAE支持的話這邊可以安排哦

你好, 我們想要一個 敦泰的觸摸板方案
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表