[STM32U5]【NUCLEO-U5A5ZJ-Q测评】6.XPT2046电阻触摸驱动

前面调试好了ILI液晶的驱动这回来尝试一下触摸芯片的。XPT2046 是一款 4 线制电阻式触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置, 除此之外,还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压,可以作为辅助输入、温度测量和电池监测之用,电池监测的电压范围可以从 0V 到 6V。XPT2046 片内集成有一个温度传感器。 在 2.7V 的典型工作状态下,关闭参考电压,功耗可小于 0.75mW。XPT2046 采用微小的封装形式:TSSOP-16,QFN-16 和 VFBGA-48。工作温度范围为-40℃~+85℃。与 ADS7846、TSC2046、AK4182A 完全兼容,其典型应用电路如下
 


引脚定义为:
 


可见我们需要一路SPI以及一路中断来驱动它,在选择上,就用开发板上的SPI_B,其实也就是SI3.
 


打开之前的ILI9341工程的cubemx工程,增加该SPI配置
 


 


 


并注意时钟的选择
 


这里要注意一下systick的中断与外部中断之间优先级的配置,以避免后面有延时的地方。
 


如下为触摸按下检测的中断引脚
 


生成工程,并在工程中添加XPT2046的驱动代码文件
 


中断处理函数如下,主要是置位标志位,即触摸按下标志,即可进行触摸坐标计算或者校准动作了。
 


在主函数中,进行初始化,并进行校准(因为没做校准值存储,所以每次上电都做了一次校准了),并在主循环中,检测按下之后在屏幕的左上角显示按下的坐标位置。
 


编译下载运行
 


因为条线比较多,需要一只手把住液晶板子,所以没法拍视频,只能拍些照片展示一下了
如下为校准过程
 


 


 


 


校准成功
 


之后就可以把按下的坐标显示在左上角了。
 


 


 

---------------------
作者:Tristan_C
链接:https://bbs.21ic.com/icview-3344750-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值