XPT2046触摸屏驱动

基于GD32H759I-EVAL开发板,设计一个XPT2046触摸屏驱动库需要结合硬件接口和软件算法。GD32H759I-EVAL开发板提供了丰富的外设支持,其中SPI接口可以用来与XPT2046通信。以下是一个基本的XPT2046驱动库设计,包括初始化、读取X轴、Y轴位置、读取压力、坐标转换和检测触摸的函数。

#include "gd32h7xx.h"
#include "gd32h759i_eval.h"

#define XPT2046_SPI      SPI1
#define XPT2046_CS_GPIO  GPIOB
#define XPT2046_CS_PIN   GPIO_PIN_12

// XPT2046 命令
#define CMD_READ_X       0xD0
#define CMD_READ_Y       0x90
#define CMD_READ_Z1      0xB0
#define CMD_READ_Z2      0xC0

void xpt2046_init(void);
uint16_t xpt2046_readX(void);
uint16_t xpt2046_readY(void);
uint16_t xpt2046_readPressure(void);
void xpt2046_convertCoordinates(uint16_t raw_x, uint16_t raw_y, int* screen_x, int* screen_y);
bool xpt2046_isTouched(void);

void xpt2046_init() {
    // 初始化SPI接口
    spi_parameter_struct spi_init_struct;

    rcu_periph_clock_enable(RCU_GPIOB);  // 使

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macbook删除软件只需几次点击即可彻底完成?macbook删除软件没有叉 苹果笔记本MacBook电脑怎么卸载软件? cleanmymac x怎么卸载

在MacBook的使用过程中,软件安装和卸载是我们经常需要进行的操作。然而,不少用户在尝试删除不再需要的软件时,常常发现这个过程既复杂又耗时。尽管MacOS提供了一些基本的macbook删除软件方法,但很多时候这些方法并不能彻底卸载软件…

Learn OpenGL 15 面剔除

面剔除 尝试在脑子中想象一个3D立方体,数数你从任意方向最多能同时看到几个面。如果你的想象力不是过于丰富了,你应该能得出最大的面数是3。你可以从任意位置和任意方向看向这个球体,但你永远不能看到3个以上的面。所以我们为什么要浪费时间…

html编辑器

HTML 编辑器推荐 html可以使用记事本编辑 但是更建议使用专业的 HTML 编辑器来编辑 HTML,我在这里给大家推荐几款常用的编辑器: VS Code:https://code.visualstudio.com/WebStorm: https://www.jetbrains.com/webstorm/Notepad: https://no…

基于Matlab的车牌识别算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

用云服务器构建gpt和stable-diffusion大模型

用云服务器构建gpt和stable-diffusion大模型 一、前置知识二、用云端属于自己的聊天chatGLM3step1、项目配置step2、环境配置1、前置知识2、环境配置流程 step3、创建镜像1、前置知识2、创建镜像流程 step4、通过 Gradio 创建ChatGLM交互界面1、前置知识2、创建ChatGLM交互界面…

Android 面试题及答案整理,最新面试题

Android中Intent的作用及分类 Intent在Android中用作组件之间传递信息,它可以用于启动活动(activity)、服务(service)和发送广播(broadcast)。Intent主要分为显式Intent和隐式Intent两大类。 1、显式Intent: 直接指定了要启动的组件名称(比如…

【C语言初阶(五)】数组

❣博主主页: 33的博客❣ ▶文章专栏分类: C语言从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1. 前言2.一维数组的概念3.一维数组的创建和初始化3.1数组的创建3.2数组的初始化3.3数组的类型 4.一维数组的使用4.1数组下标4.2数组元素打印4.4数组元…

html5使用Websocket

html5使用Websocket 前言1、html5中的websocket2、创建一个 WebSocket 对象3、监听 WebSocket 连接事件4、监听 WebSocket 收到消息事件5、监听 WebSocket 关闭事件6、 监听 WebSocket 出错事件7、发送消息8、整体代码 前言 在即时通讯的交互方式中websocket是一个很使用的方式…

(学习日记)2024.03.12:UCOSIII第十四节:时基列表

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

redis中List和hash数据类型

list类型是用来存储多个有序的字符串的,列表当中的每一个字符看做一个元素,一个列表当中可以存储一个或者多个元素,redis的list支持存储2^32-1个元素。redis可以从列表的两端进行插入(pubsh)和弹出(pop&…

【安全类书籍-3】XSS跨站脚剖析与防御

目录 内容简介 作用 下载地址 内容简介 这本书涵盖以下几点: XSS攻击原理:解释XSS是如何利用Web应用未能有效过滤用户输入的缺陷,将恶意脚本注入到网页中,当其他用户访问时被执行,实现攻击者的目的,例如窃取用户会话凭证、实施钓鱼攻击等。 XSS分类:分为存储型XSS(…

网页中 link 和@import介绍

网页中 link 和import介绍 网页中,link和import都是用来引入外部样式表——CSS(层叠样式表)文件的方法,它们可以让我们将样式表分离出来,提高代码的可维护性和复用性。 在HTML中,用于引入外部样式表的主要…

【IC设计】Verilog线性序列机点灯案例(三)(小梅哥课程)

声明:案例和代码来自小梅哥课程,本人仅对知识点做做笔记,如有学习需要请支持官方正版。 文章目录 该系列目录设计目标设计思路RTL及Testbench代码RTL代码Testbench代码 仿真结果上板视频 该系列目录 Verilog线性序列机点灯案例(一)&#xff…

c语言:汽车时代

汽车时代 任务描述 据说看车牌可以知道车辆归属地点,已知黑龙江省车牌归属地的基本规则是: 黑A: 哈尔滨 黑B: 齐齐哈尔 黑C: 牡丹江 黑D: 佳木斯 黑E: 大庆 黑F: 伊春 黑G: 鸡西 黑H: 鹤岗 黑J: 双鸭山 黑K: 七台河 黑L: 松花江地区 黑M: 绥化 黑N: 黑…

快速掌握Adroid基础(入门)

开发环境搭建 学习Android Studio的安装和配置 学习如何安装和配置Android Studio是进入Android开发世界的第一步。以下是一个简明的指南来帮助你开始。 1. 下载Android Studio 访问官方网站 Android Studio 下载最新版本的Android Studio。网站会自动检测你的操作系统并推…

外卖点餐系统 |基于springboot框架+ Mysql+Java+JSP技术+Tomcat的外卖点餐系统 设计与实现(可运行源码+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 骑手功能模块 商家功能模块 管理员功能登录前台功能效果图 用户功能模块 系统功能设…

获取扇区航班数

1、Spark Streaming清洗服务,接收kafka中Topic为“task_ATC”中的数据,保存在MySQL中。 打开SpringBoot项目BigData-Etl-KongGuan 请认真阅读:在前面的“使用Spark清洗统计业务数据并保存到数据库中”任务阶段中应该已经完成了所有Topic的数…

邻接表存储带权的无向图(c++题解)

题目描述 给出一个无向带权图,顶点数为n,边数为m。 输入格式 第一行两个整数n,m, 接下来有m行,每行3个整数u,v,w,表示点u到点v有一条边,边权为w。 输出格式 第i行输出第点i的所有邻接点,按照点i到该点…

web学习笔记(三十四)

目录 1.面向对象的特征 2.面向对象的继承方式 3.正则表达式 3.1如何创建正则表达式 3.2边界符 3.2[ ]方括号 3.3正则表达式中相关的方法汇总 1.面向对象的特征 封装性:就像是把东西放在一个密封的盒子里一样,只让外部使用者通过指定的接口来访…

python入门(二)

python的安装很方便,我们这里就不再进行讲解,大家可以自己去搜索视频。下面分享一下Python的入门知识点。 执行命令的方式 在安装好python后,有两种方式可以执行命令: 命令行程序文件,后缀名为.py 对于命令行&…