K230 触摸屏(TOUCH)使用教程#

概述#

K230 支持 电容屏电阻屏 的触摸输入,提供了基于 RT-Smart 封装的 TOUCH 类接口。开发者可使用它读取触点坐标、事件类型等信息,广泛应用于 HMI、交互终端等场景。

快速上手示例#

以下示例展示了如何读取触摸屏上的触点数据:

from machine import TOUCH

# 实例化触摸设备 0
tp = TOUCH(0)

# 可选:启用坐标旋转(旋转 90 度),适配屏幕方向
# tp = TOUCH(0, 1)

# 读取当前触摸点数据
p = tp.read()

# 输出完整的触摸数据结构
print(p)

# 如有触摸点,可访问第一个触点的坐标与事件类型
# print(p[0].x)       # X 坐标
# print(p[0].y)       # Y 坐标
# print(p[0].event)   # 事件类型(如 Touch Down、Move、Up)

接口说明#

接口名

说明

TOUCH(id)

创建触摸屏实例,id=0 表示设备号

TOUCH(id, rotate)

实例化并启用屏幕坐标旋转,rotate=1 代表旋转 90 度

read()

返回当前触摸点信息,通常是一个列表结构

示例详解#

1. 实例化设备#

tp = TOUCH(0)

创建 TOUCH 设备对象,表示使用触摸通道 0。

可选参数 TOUCH(0, 1) 用于对坐标做旋转,适用于竖屏方向的设备。

2. 读取触摸数据#

p = tp.read()
print(p)

返回的 p 通常是一个包含多个触点对象的列表。每个对象包含:

  • x: X 坐标

  • y: Y 坐标

  • event: 触摸事件(如 Touch Down、Move、Touch Up)

3. 示例输出参考#

[<TouchPoint x=120 y=65 event=0>]

如果有多个触点,例如支持多指操作:

[<TouchPoint x=120 y=65 event=0>, <TouchPoint x=250 y=130 event=0>]

应用场景#

场景

示例

图形界面交互

基于触摸点驱动按钮点击、滑动切换

自定义手势识别

多点滑动、旋转等操作识别

简单绘图板或签名板

基于触点轨迹做线条绘制

常见问题#

Q:没有读取到触摸点,返回是空列表? A:此时说明屏幕未被触摸。tp.read() 只在屏幕被按下时返回触点。 Q:如何处理多点触控? A:读取到的是一个包含多个 TouchPoint 的列表,使用 for 循环逐个读取即可。 Q:是否支持旋转坐标系? A:支持,通过第二个参数 TOUCH(0, 1) 可开启坐标旋转(90 度顺时针)。

延伸阅读#

评论列表
条评论
登录