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)
接口说明#
接口名 |
说明 |
|---|---|
|
创建触摸屏实例, |
|
实例化并启用屏幕坐标旋转, |
|
返回当前触摸点信息,通常是一个列表结构 |
示例详解#
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 度顺时针)。
