首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

ST1633I-沁恒微CH554-IC代码

物联网 408.51KB 21 需要积分: 1
立即下载

资源介绍:

ST1633I-沁恒微CH554-IC代码
/********************************** (C) COPYRIGHT ******************************* * File Name : ST1633I.C * Author : GJ * Version : V2.00 * Date : 2018-7-10 * Description : 电容触摸IC触摸IC驱动 *******************************************************************************/ #include "STX1633I.H" const UINT16 ST1633I_TPX_TBL[10]= /* 兼容所有系列,10个手指都支持 */ { ST_TP0_REG, ST_TP1_REG, ST_TP2_REG, ST_TP3_REG, ST_TP4_REG, ST_TP5_REG, ST_TP6_REG, ST_TP7_REG, ST_TP8_REG, ST_TP9_REG, }; /******************************************************************************* * Function Name : ST1633I_WR_Reg * Description : 向ST1633I写入一次数据 * Input : reg:起始寄存器地址 buf:数据缓缓存区 len:写数据长度 * Output : None * Return : 0,成功;1,失败. *******************************************************************************/ static UINT8 ST1633I_WR_Reg(UINT8 reg,UINT8 *buf,UINT8 len) { UINT8 i; UINT8 ret=0; IIC_Start(); IIC_Send_Byte(ST_CMD_WR); //发送写命令 IIC_Wait_Ack(); IIC_Send_Byte(reg); //发送高8位地址 IIC_Wait_Ack(); for(i=0;i>4){ case 0x00: printf("No error\r\n");break; case 0x01: printf("Invalid Address\r\n");break; case 0x02: printf("Invalid Value\r\n");break; case 0x03: printf("Invalid Platform\r\n");break; case 0x04: printf("Dev Not Found\r\n");break; case 0x05: printf("Stack Overflow\r\n");break; case 0x06: printf("Invalid Firmware Parameter Table\r\n");break; case 0x07: printf("Invalid Secondary Touch Firmware\r\n");break; default:printf("Reserverd!\r\n"); } } /******************************************************************************* * Function Name : ST_GetPanelInfo * Description : 使用命令码从控制器读取X、Y分辨率。 * Input : None * Output : None * Return : None *******************************************************************************/ void ST_GetPanelInfo(void) { // 读取XY分辨率高字节寄存器 ST1633I_RD_Reg(XY_RESOLUTION_HIGH, ShareBuf, 3); // 组合X轴分辨率,高3位在分辨率高字节的第4到6位,低8位在x_low CTP_Info.x_max_pos =(((UINT16)(ShareBuf[0] & (X_RES_H_BMSK << X_RES_H_SHFT)) << 4) | ShareBuf[1]); // 组合Y轴分辨率,高2位在分辨率高字节的第0到2位(即0x07),低8位在y_low CTP_Info.y_max_pos = (((UINT16)(ShareBuf[0] & Y_RES_H_BMSK) << 8) | ShareBuf[2]); // printf("XY_RESOLUTION_HIGH:%2x\n",(UINT16)ShareBuf[0]); // printf("X_RESOLUTION_LOW:%2x\n",(UINT16)ShareBuf[1]); // printf("Y_RESOLUTION_LOW:%2x\n",(UINT16)ShareBuf[2]); printf("cpt x:%d y:%d\n",CTP_Info.x_max_pos,CTP_Info.y_max_pos); ST1633I_RD_Reg(FIRMWARE_VERSION,ShareBuf,1); printf("ver:%d\n",ShareBuf[0]); ST1633I_RD_Reg(FIRMWARE_REVISION_3, ShareBuf, 4); printf("fw revision = %d %d %d %d\n", (UINT16)ShareBuf[0],(UINT16)ShareBuf[1],(UINT16)ShareBuf[2], (UINT16)ShareBuf[3]); } /******************************************************************************* * Function Name : ST1633I_Init * Description : 触摸板初始化,获取ID,确认是否工作,TP的初始化接口,IC上电后会自动初始化,一般不需要特殊实现 * Input : None * Output : None * Return : None *******************************************************************************/ void ST1633I_Init(void) { MAX_POINT = 6; I2c_Init(); #if DE_PRINTF printf("ST init\n"); #endif // 配置触摸屏控制器的中断和复位引脚 CTP_INT(1); CTP_RST(0); // 等待一段时间后释放复位 mDelaymS(50); CTP_RST(1); mDelaymS(200); // 必须要延时100多ms ST_GetStatusInfo(); ST1633I_RD_Reg(STATUS_REG,&ShareBuf[0],1); //如果没有任何状态异常,就说明没有问题,成功初始化 while((ShareBuf[0]&0xF0)!=0){ ST1633I_RD_Reg(STATUS_REG,&ShareBuf[0],1); printf("初始化...ing\r\n"); } printf("Error Code:%d\r\n",(ShareBuf[0]&0xF0)); printf("ST init OK!\r\n"); ST_GetPanelInfo(); Get_Config_Info(); CTP_Info.X_Resolution = 4096 / (float)CTP_Info.x_max_pos; CTP_Info.Y_Resolution = 4096 / (float)CTP_Info.y_max_pos; #if DE_PRINTF printf("cpt x:%d y:%d\n",CTP_Info.x_max_pos,CTP_Info.y_max_pos); printf("ratio: %f %f\n",CTP_Info.X_Resolution,CTP_Info.Y_Resolution); #endif } // 根据寄存器地址获取触摸点ID的函数 UINT16 GetTouchPointID(UINT8 regAddress) { switch (regAddress) { case ST_TP0_REG: return 0; case ST_TP1_REG: return 1; case ST_TP2_REG: return 2; case ST_TP3_REG: return 3; case ST_TP4_REG: return 4; case ST_TP5_REG: return 5; case ST_TP6_REG: return 6; case ST_TP7_REG: return 7; case ST_TP8_REG: return 8; case ST_TP9_REG: return 9; default: return 255; // 如果地址不匹配任何已知寄存器,返回一个无效的ID } } /******************************************************************************* * Function Name : ST1633I_Touch_Check * Description : 按键检测与上传 * Input : None * Output : None * Return : None *******************************************************************************/ UINT8 ST1633I_Touch_Check( void ) { if( CTP_Info.IRQ_Flag == 1 ) { if( ST1633I_Scan() == 1 ) { Absolute_Up_Pack( &TP, CTP_Info.Press_Flag ); } CTP_Info.IRQ_Flag = 0; EX0 = 1; } return 0; } /******************************************************************************* * Function Name : ST1633I_Scan * Description : 扫描触摸屏(采用查询方式) * Input : None * Output : None * Return : 0,触屏无触摸;1,触屏有触摸 *******************************************************************************/ UINT8 ST1633I_Scan( void ) { // 初始化用于存储触摸点数量的变量 UINT16 id ; //当前这次ID位域 UINT16 i; UINT8 point_num; UINT16 point_id; UINT16 valid; // 读取触摸屏控制器中注册表的值,获取当前触摸点的数量 ST1633I_RD_Reg(MAX_NUM_TOUCHES,&point_num,1); id = 0; printf("point_num:%d\r\n",(UINT16)point_num); printf("MAX_POINT:%d\r\n",(UINT16)MAX_POINT); // 根据触摸点的数量进行处理,确保不超过最大支持的触摸点数量 if(point_num > MAX_POINT) point_num = MAX_POINT; // 遍历每个触摸点,读取并处理其信息 for( i = 0; i != point_num; i++ ) { // 从控制器中读取触摸点的具体�

资源文件列表:

电容屏源码兼容版(190422).zip 大约有57个文件
  1. 电容屏源码兼容版(190422)/CH554.H 67.09KB
  2. 电容屏源码兼容版(190422)/CONFIG.H 1.58KB
  3. 电容屏源码兼容版(190422)/CYPRESS.C 4.49KB
  4. 电容屏源码兼容版(190422)/CYPRESS.H 913B
  5. 电容屏源码兼容版(190422)/CYPRESS.OBJ 43.82KB
  6. 电容屏源码兼容版(190422)/Debug.C 9.67KB
  7. 电容屏源码兼容版(190422)/Debug.H 2.1KB
  8. 电容屏源码兼容版(190422)/Debug.OBJ 46.03KB
  9. 电容屏源码兼容版(190422)/DEVICE.H 1.01KB
  10. 电容屏源码兼容版(190422)/DEVICE.LIB 61.81KB
  11. 电容屏源码兼容版(190422)/FLASH_IC.C 2.07KB
  12. 电容屏源码兼容版(190422)/FLASH_IC.H 683B
  13. 电容屏源码兼容版(190422)/FLASH_IC.OBJ 44.59KB
  14. 电容屏源码兼容版(190422)/FT6236.C 5.84KB
  15. 电容屏源码兼容版(190422)/FT6236.H 1.96KB
  16. 电容屏源码兼容版(190422)/FT6236.OBJ 44.71KB
  17. 电容屏源码兼容版(190422)/GT911.C 7.53KB
  18. 电容屏源码兼容版(190422)/GT911.H 3.01KB
  19. 电容屏源码兼容版(190422)/GT911.OBJ 44.67KB
  20. 电容屏源码兼容版(190422)/HID_TP_CAP.uvgui.lorra 96.33KB
  21. 电容屏源码兼容版(190422)/HID_TP_CAP.uvgui.owner 74.52KB
  22. 电容屏源码兼容版(190422)/HID_TP_CAP.uvgui.tech 72.54KB
  23. 电容屏源码兼容版(190422)/HID_TP_CAP.uvgui.WCH 91.48KB
  24. 电容屏源码兼容版(190422)/HID_TP_CAP.uvopt 8.9KB
  25. 电容屏源码兼容版(190422)/HID_TP_CAP.uvproj 15.74KB
  26. 电容屏源码兼容版(190422)/HID_TP_GT_V100 539.05KB
  27. 电容屏源码兼容版(190422)/HID_TP_GT_V100.build_log.htm 3.08KB
  28. 电容屏源码兼容版(190422)/HID_TP_GT_V100.hex 33.58KB
  29. 电容屏源码兼容版(190422)/HID_TP_GT_V100.lnp 249B
  30. 电容屏源码兼容版(190422)/IIC.C 4.56KB
  31. 电容屏源码兼容版(190422)/IIC.H 764B
  32. 电容屏源码兼容版(190422)/IIC.OBJ 47.59KB
  33. 电容屏源码兼容版(190422)/ILI2511.C 7.21KB
  34. 电容屏源码兼容版(190422)/ILI2511.H 1.02KB
  35. 电容屏源码兼容版(190422)/ILI2511.OBJ 43.88KB
  36. 电容屏源码兼容版(190422)/list/
  37. 电容屏源码兼容版(190422)/list/CYPRESS.lst 8.42KB
  38. 电容屏源码兼容版(190422)/list/Debug.lst 15.04KB
  39. 电容屏源码兼容版(190422)/list/FLASH_IC.lst 4.41KB
  40. 电容屏源码兼容版(190422)/list/FT6236.lst 10.34KB
  41. 电容屏源码兼容版(190422)/list/GT911.lst 13.58KB
  42. 电容屏源码兼容版(190422)/list/HID_TP_GT_V100.m51 20.31KB
  43. 电容屏源码兼容版(190422)/list/IIC.lst 8.74KB
  44. 电容屏源码兼容版(190422)/list/ILI2511.lst 12.55KB
  45. 电容屏源码兼容版(190422)/list/MAIN.lst 7.53KB
  46. 电容屏源码兼容版(190422)/list/STX_Driver_sample.lst 13.84KB
  47. 电容屏源码兼容版(190422)/list/STX1633I.lst 16.6KB
  48. 电容屏源码兼容版(190422)/MAIN.C 4.14KB
  49. 电容屏源码兼容版(190422)/MAIN.OBJ 51.28KB
  50. 电容屏源码兼容版(190422)/STX_Driver_sample.__i 98B
  51. 电容屏源码兼容版(190422)/STX_Driver_sample.c 7.75KB
  52. 电容屏源码兼容版(190422)/STX_Driver_sample.h 1.26KB
  53. 电容屏源码兼容版(190422)/STX_Driver_sample.OBJ 56.74KB
  54. 电容屏源码兼容版(190422)/STX1633I.__i 80B
  55. 电容屏源码兼容版(190422)/STX1633I.C 9.95KB
  56. 电容屏源码兼容版(190422)/STX1633I.H 2.5KB
  57. 电容屏源码兼容版(190422)/STX1633I.OBJ 62.36KB
0评论
提交 加载更多评论
其他资源 RTT 3.1.5以及MSPM0截至到2024.08.14最新pack
RTT 3.1.5以及MSPM0截至到2024.08.14最新pack
Java描述设计模式(24):备忘录模式.zip
Java描述设计模式(24):备忘录模式
jdk中文字体文件,用于linux
jdk中文字体文件,用于linux
QT实现自定义侧边导航栏
侧边导航栏是应用程序界面的一种常见布局,它通常位于页面或应用程序的侧边位置,用来展示导航菜单或功能链接,方便用户快速访问不同的页面或功能。本示例展示了在QT中,通过自定义QWidget来实现自定义的侧边导航栏。你可以根据需要修改样式、添加图标等来达到你想要的效果。
异次元发卡网,需要支付接口
发卡系统是一款专为在线销售数字产品如游戏点卡、会员激活码等设计的个人发卡平台。这个系统的核心功能是为商家提供一个便捷的渠道,将各种虚拟商品的密钥以卡片形式在线出售,买家可以快速购买并获取密钥。全开源且无加密的特性使得该系统具有高度的可定制性和安全性,用户可以根据自己的需求进行二次开发和调整。 我们需要了解发卡网的基本工作原理。发卡网通常包含以下几个主要模块: 1. 商品管理:商家可以上传和管理不同的商品,包括商品名称、价格、库存以及对应的密钥信息。在发卡系统中,这一功能可能通过后台界面实现,允许商家方便地添加、编辑和删除商品。 2. 订单处理:当买家完成支付后,系统会自动或手动分配一个密钥给买家,同时扣除相应的库存。这个过程需要与支付接口紧密配合,确保交易的安全和准确。 3. 用户账户:系统应具备用户注册、登录功能,以便买家保存订单历史和查看已购买的商品。此外,商家也需要账户来管理商品和订单。 4. 数据统计:为了帮助商家分析销售情况,系统需要提供订单统计、销售额统计等功能,以便商家进行市场决策。 5. 接口对接:发卡系统强调了“欢迎来对接”,这意味着它可能支持
STC8A8K64S4A12单片机最小系统原理图+PCB
STC8A8K64S4A12单片机最小系统原理图+PCB源文件
STM32F103C8T6最小系统原理图+PCB
STM32F103C8T6最小系统原理图+PCB源文件,包括LDO和复位电路
2007-2022年noip/csp-j第一轮 真题试卷(无答案)
便于打印,便于自查和复习巩固
2007-2022年noip/csp-j第一轮 真题试卷(无答案) 2007-2022年noip/csp-j第一轮 真题试卷(无答案) 2007-2022年noip/csp-j第一轮 真题试卷(无答案)