STM32 电容触摸屏I2C转USB实现
最近有个需求要把一个电容式触摸屏转为标准USB HID TP设备,同时需要把TP数据通过串口输出到MCU。市面方案大多采用CH554E做I2C USB转换,没有多余的UART口。问了几家供应商都说做不了,只好自己搞了。
能偷懒就偷懒,下载USBlyzer,把原屏的ReportDescriptor抓下来直接用了:
然后跟供应商要到接口文档和初始化寄存器配置:
配置ConfigDescriptor:
用USBlyzer抓了下触摸数据:
与ReportDescriptor一致
Usage (Finger) | 09 22 |
Collection (Logical) | A1 02 |
Usage (Tip Switch) | 09 42 |
Logical Minimum (0) | 15 00 |
Logical Maximum (1) | 25 01 |
Report Size (1) | 75 01 |
Report Count (1) | 95 01 |
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 02 |
Report Count (1) | 95 01 |
Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 03 |
Report Count (6) | 95 06 |
Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 03 |
Report Size (8) | 75 08 |
Usage (Contact Identifier) | 09 51 |
Report Count (1) | 95 01 |
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 02 |
Usage Page (Generic Desktop) | 05 01 |
Logical Maximum (2048) | 26 00 08 |
Report Size (16) | 75 10 |
Unit Exponent (-2) | 55 0E |
Unit (SI Lin: Length (cm)) | 65 11 |
Usage (X) | 09 30 |
Physical Minimum (0) | 35 00 |
Physical Maximum (2169) | 46 79 08 |
Report Count (1) | 95 01 |
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 02 |
Physical Minimum (1) | 35 01 |
Physical Minimum (0) | 35 00 |
Physical Maximum (1356) | 46 4C 05 |
Logical Maximum (2048) | 26 00 08 |
Usage (Y) | 09 31 |
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 02 |
Physical Minimum (1) | 35 01 |
Physical Minimum (0) | 35 00 |
Usage Page (Digitizer) | 05 0D |
Logical Maximum (255) | 26 FF 00 |
Physical Maximum (255) | 46 FF 00 |
Report Count (1) | 95 01 |
Usage (Width) | 09 48 |
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) | 81 02 |
End Collection | C0 |
把TP的I2C接口调好就OK了,测试了一下OK。
下一步是把程序移植到STM32F070,价格不错,比汇顶提供的CH554还要便宜!
STM32 电容触摸屏I2C转USB实现相关推荐
- 基于战舰V3的4.3寸电容触摸屏
基于战舰V3的4.3寸电容触摸屏 原理简介 4.3寸电容屏可以等效为800*480个点,当我们触碰到LCD屏幕时,触摸点的电容值会发生变化,此时内置MPU可以读取到这一点的准确坐标我们访问其中的寄存器 ...
- 使用电容触摸屏做一个画板--原理(一)
一.什么是触摸屏 触摸屏又称触控面板,它是一种把触摸位置转化成坐标数据的输入设备,根据触摸屏的检测原理,主要分为电阻式触摸屏和电容式触摸屏. 电阻式触摸屏:造价便宜,能适应较恶劣的环境,但它只支持单点 ...
- android 触摸屏干扰,一种电容触摸屏的抗干扰方法及其控制模块与流程
本发明涉及触摸控制技术领域,具体为一种电容触摸屏的抗干扰方法及其控制模块. 背景技术: 电容式触摸屏基于其良好的触控交互以及外观型式,已在多个行业得到广泛应用.当前新零售行业也在逐步引入电容式触控屏作 ...
- STM32的硬件I2C与AT24C16
刚学STM32的时候就听闻STM32的硬件I2C存在重大bug,会导致运行卡死在等待ACK的过程中,所以一直以来对其避而远之,转而以模拟I2C取代之.最近这段时间一直在用STM32 CubeMX,图形 ...
- 驱动程序开发:多点电容触摸屏
驱动程序开发:多点电容触摸屏 一.编写驱动前的知识准备 1.CST340触摸屏芯片寄存器 2.CST340触摸屏的硬件原理图 3.电容触摸屏驱动是由几种linux驱动框架组成的 4.linux多点电容 ...
- STM32单片机硬件I2C读取AHT10温湿度传感器数据
STM32使用硬件IIC读取AHT10温湿度传感器的数据并显示在0.96寸OLED屏上. 我用的单片机是STM32F103C8T6,程序用的是ST标准库写的. STM32使用硬件I2C读取SHTC3温 ...
- 电容触摸屏驱动---基于FT5406
http://blog.csdn.net/yunfly163/article/details/7388230 最近刚调试好郭泰的电容触摸屏,现记录下. ft5406数据手册 ------------- ...
- stm32 驱动 触摸屏
由于智能手机的发展和大屏幕的兴起,触摸屏已经得到了广泛的应用.触摸屏分为两种:电阻触屏 俗称"软屏":电容触屏俗称"硬屏". 电阻触摸屏的屏体部分是一块多层 ...
- STM32+MCGS触摸屏四通道数据采集
1.想做一个数据采集系统,然后将数据存储起来,方便查看选择了STM32+MCGS触摸屏. 2.原理图绘制,选择立创的绘图软件,简单方面.用到了ADC采集模块与RS485通讯. 3.PCB ...
- 【正点原子Linux连载】第六十四章 Linux 多点电容触摸屏实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
最新文章
- 爱奇艺基于SpringCloud的韧性能力建设
- 解析Makefile文件的构建规则
- 【性能优化实战】java嵌入式开发pos
- python【蓝桥杯vip练习题库】ALGO-118连续正整数的和(枚举优化)
- RMAN之一:快速入门
- matlab的函数要写在哪,matlab函数库在哪
- 结构型设计模式在公司项目中的运用实践
- 窥探算法之美妙——寻找数组中最小的K个数python中巧用最大堆
- Ubuntu操作系统
- 基于MySQL的京东用户行为分析
- 路由器 OSPF 动态路由配置
- 2018中南大学 计算机考研分数,2018年中南大学考研复试分数线
- Android安卓毕业设计,SpringBoot+MySQL+Android studio 实现一个二手交易平台APP
- 神还原女神照片!GAN 为百年旧照上色
- 收到QQ尾巴 Worm.QQ.TopFox.bo 送来的“我的近照11.zip”
- RAB与RB的关系详解
- python学习——tsv文件批量转为csv文件、csv文件列合并
- 黑马程序员————数组(day4)
- 云计算市场价值爆发,两马之战日趋激烈
- 安卓手机控制小车(自己做成功了,有全套资料)