05_触摸屏驱动

1、硬件原理和编程思想

电阻触摸屏原理:
在这里插入图片描述

编程框架:
在这里插入图片描述

触摸屏执行流程:
在这里插入图片描述

2、8th编程

2.1、入口函数s3c_ts_init中

1、	设置输入结构input_dev
1.1、分配一个input_dev结构体
s3c_ts_dev = input_allocate_device();

1.2、能产生那类事件
set_bit(EV_KEY,s3c_ts_dev->evbit);
set_bit(EV_ABS, s3c_ts_dev->evbit);
设置struct input_dev 的evdev数组中的EV_KEY位和EV_ABS位

1.3、设置产生这类事件的哪些件
set_bit(BTN_TOUCH, s3c_ts_dev->keybit)
input_set_abs_params(s3c_ts_dev, ABS_X, 0, 0x3FF, 0, 0)
input_set_abs_params(s3c_ts_dev, ABS_Y, 0, 0x3FF, 0, 0)
input_set_abs_params(s3c_ts_dev,ABS_PRESSURE, 0, 1,0, 0)
BIN_TOUCH    : 触摸"按键"事件
ABS_X/ABS_Y  : X/Y绝对位移
ABS_PRESSURE : 绝对位移压力事件

1.4、注册input_dev
input_register_device(s3c_ts_dev);

2、	硬件操作
2.1、使能时钟
	clk = clk_get(NULL, "adc");
	clk_enable(clk);

2.2、ioremap寄存器
s3c_ts_regs = ioremap(0x58000000, sizeof(struct s3c_ts_regs));

2.3、设置AD分频系数和ADCDLY
s3c_ts_regs->adccon = (1<<14)|(49<<6);

2.4、注册INT_TS和AD中断
	//TS中断
	request_irq
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值