touchscreen触摸屏驱动_专家说风险第一百一十五期——触摸屏归类(下)

6fb5f71b64a26591ba1407e5863399fd.gif

第115期

dcd741c9261b99445d2c7d641fefdf02.png

触摸屏(touch screen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。我们继续讲触摸屏如何归类规避风险。

一、通用性触摸屏

触摸屏主要由触摸检测部件(表面触摸板)、触摸屏控制器(内部控制线路板:有控制芯片和CPU)、系统驱动程序三部分组成。其工作原理是用手指触摸屏幕,系统会根据触摸菜单位置(X,Y轴位置)来定位选择信息输入,并将它转换成触点坐标发送给CPU(自带),然后通过CUP将气缸执行动作信息传送到plc控制器(外带)中,然后通过plc控制器识别并执行指令,最后将执行情况反馈到触摸屏上。

ae67478cad43d06434e9cfb13e118a25.png

该商品为触摸检测部件(表面触摸板)和触摸屏控制器(内部控制线路板:有控制芯片和CPU)的组合体,同时自带系统驱动程序,所谓的“触摸屏”已经不再是简单的触摸屏,其组成结构中的触摸屏控制器及自带系统驱动程序使其超出了一般触摸屏的范畴,符合《税则》第十六类第八十五章品目8537的解释,根据归类总规则一及六,应归入8537.1090项下(其他电力控制或分配的装置,关税税率8%)。

二、手机用透明电容触屏

7a11a48c73b59e5f098d01b1a820d7d4.png

手机用透明电容触屏包括两个透明的铟锡氧化物导电层和一个钢化玻璃保护层,彼此通过光学透明胶粘层结合在一起。屏幕还装有一块柔性印刷电路板,其上配有一个触摸集成电路。触摸屏幕后,氧化铟锡导电层形成的静电区域对人体自然电流的反应,会发生形变。触摸集成电路会对静电区域的形变做出感应,计算出触摸发生的位置并将信息传递给手机的应用处理器。触摸屏自身不具备显示功能。该屏幕与手机的液晶显示屏或者有源矩阵有机发光二极管显示器件(AMOLED)一起使用。该屏幕四个边角是圆弧形,并已经为手机面板的主键、照相机镜头和一个扬声器等预留位置。

根据归类总规则一“十六类注释二(二)”及六,该商品专用于手机,因此按照手机专用零件归入851770项下(关税税率0%)。

三、触摸屏前板

55440f7c1fce40dba984cba3c8f6a549.gif

该商品是高铝强化玻璃材料,通过丝印技术把镜面银油墨和有机油墨印在玻璃上,对触摸屏起到保护、美化作用。主要用途:用于保护电子通讯设备、平板电脑等触摸屏。

由于该商品为高铝强化玻璃,边框丝印油墨,尺寸为8寸,已切割成特定形状及尺寸,可用于手机、平板电脑的触摸屏,对触摸屏起到保护、美化作用。根据归类总规则一及六,应按通用零件归入8548900090(第85章其他编号未列名的电气零件,关税税率8%)

9e802dbf05b035e4d4dee16fef77b0fd.gif

所以,“触摸屏”的归类思路为:

1、是否具备人机界面的特征(带有控制器,即控制芯片和CPU等),如具备,则考虑归入8537.1090;

2、是否确定为专用于某一设备,如能,则按照设备的专用零部件归类(常见如851770、84716090);

3、不能确定为专用于某一设备,具备一定的通用性,则考虑归入8548.9000。

- E N D -

62eb20b47498e3a2f71d21df46e9e188.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里是一个Linux内核下UART触摸屏驱动的代码示例: ``` #include <linux/module.h> #include <linux/kernel.h> #include <linux/input.h> #include <linux/serio.h> #define TOUCHSCREEN_NAME "MyTouchscreen" #define TOUCHSCREEN_PHYS "mytouchscreen/input0" static struct serio *serio; static int mytouchscreen_connect(struct serio *serio, struct serio_driver *drv) { int err; printk(KERN_INFO "MyTouchscreen: Connecting to serio...\n"); // 初始化触摸屏 err = serio_open(serio, drv); if (err) { printk(KERN_ERR "MyTouchscreen: Failed to open serio: %d\n", err); return err; } // 注册输入设备 err = input_register_device(input_dev); if (err) { printk(KERN_ERR "MyTouchscreen: Failed to register input device: %d\n", err); serio_close(serio); return err; } printk(KERN_INFO "MyTouchscreen: Touchscreen successfully connected\n"); return 0; } static void mytouchscreen_disconnect(struct serio *serio) { printk(KERN_INFO "MyTouchscreen: Disconnecting from serio...\n"); // 取消注册输入设备 input_unregister_device(input_dev); // 关闭触摸屏 serio_close(serio); printk(KERN_INFO "MyTouchscreen: Touchscreen successfully disconnected\n"); } static const struct serio_device_id mytouchscreen_serio_ids[] = { { .type = SERIO_RS232, .proto = SERIO_PROTO_TOUCHSCREEN, .id = SERIO_ANY_ID, .extra = SERIO_ANY_EXTRA, }, { } }; MODULE_DEVICE_TABLE(serio, mytouchscreen_serio_ids); static struct serio_driver mytouchscreen_drv = { .driver = { .name = TOUCHSCREEN_NAME, .owner = THIS_MODULE, }, .description = "My Touchscreen Driver", .id_table = mytouchscreen_serio_ids, .connect = mytouchscreen_connect, .disconnect = mytouchscreen_disconnect, }; static int __init mytouchscreen_init(void) { int err; // 分配输入设备结构体 input_dev = input_allocate_device(); if (!input_dev) { printk(KERN_ERR "MyTouchscreen: Failed to allocate input device\n"); return -ENOMEM; } // 设置输入设备的属性 input_dev->name = TOUCHSCREEN_NAME; input_dev->phys = TOUCHSCREEN_PHYS; // 设置输入事件 input_set_capability(input_dev, EV_KEY, BTN_TOUCH); input_set_abs_params(input_dev, ABS_X, 0, 1023, 0, 0); input_set_abs_params(input_dev, ABS_Y, 0, 767, 0, 0); // 注册serio驱动 err = serio_register_driver(&mytouchscreen_drv); if (err) { printk(KERN_ERR "MyTouchscreen: Failed to register serio driver: %d\n", err); input_free_device(input_dev); return err; } printk(KERN_INFO "MyTouchscreen: Driver successfully loaded\n"); return 0; } static void __exit mytouchscreen_exit(void) { serio_unregister_driver(&mytouchscreen_drv); input_free_device(input_dev); printk(KERN_INFO "MyTouchscreen: Driver successfully unloaded\n"); } module_init(mytouchscreen_init); module_exit(mytouchscreen_exit); MODULE_AUTHOR("Your Name Here"); MODULE_DESCRIPTION("My Touchscreen Driver"); MODULE_LICENSE("GPL"); ``` 这个驱动使用了Serio子系统来与UART接口通信,并将触摸屏识别为一个输入设备。在触摸屏被连接时,将初始化输入设备并注册到输入子系统;当触摸屏被断开时,将取消注册输入设备并关闭Serio接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值