STM32 電容觸控螢幕I2C轉USB實現

2021-10-07 10:40:53 字數 2682 閱讀 1777

最近有個需求要把乙個電容式觸控螢幕轉為標準usb hid tp裝置,同時需要把tp資料通過串列埠輸出到mcu。市面方案大多採用ch554e做i2c usb轉換,沒有多餘的uart口。問了幾家**商都說做不了,只好自己搞了。

然後跟**商要到介面文件和初始化暫存器配置:

配置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還要便宜!

arduion 下stm32 觸控螢幕

觸控螢幕我的是電阻屏,基本上也可以直接拷stm32的原 稍做修改即可 主要完成spi的初始化,u8 read once void 函式,讀取資料即可 void spi1 init 讀取一次x,y值 讀到的x,y座標值必須都大於100 成功返回1,不成功返回0 讀數限制在100 4000之間.u8 r...

stm32 觸控螢幕 XPT2046

引腳功能描述 控制字的控制位命令 控制位元組各位描述 單端模式輸入配置 差分模式輸入配置 時序 前8個時鐘用來通過din引腳輸入控制位元組,接著的12個時鐘週期將完成真正的模數轉換,剩下的3個多時鐘週期將用來完成被轉換器忽略的最後位元組 dout置低 舉例 define touch read tim...

STM32 軟體模擬I2C

i2c的兩個引腳 scl引腳和sda引腳 需要既能輸出又能輸入,為了避免複雜的配置操作需要把該引腳配置為開漏輸出模式,該模式的說明如下圖所示 當微控制器的sda引腳配置為低電平時,sda線被拉低 當微控制器的sda引腳配置為高電平時,引腳埠為高阻態,sda線通過上拉電阻被vcc拉高。因此一定要注意在...