国内做新闻比较好的网站有哪些网站建设的作用和意义

news/2025/9/24 6:05:32/文章来源:
国内做新闻比较好的网站有哪些,网站建设的作用和意义,如何自己制作简单脚本,泰州品牌网站建设一、tslib介绍 tslib 是专门为触摸屏设备所开发的 Linux 应用层函数库#xff0c;并且是开源。 tslib 为触摸屏驱动和应用层之间的适配层#xff0c;它把应用程序中读取触摸屏 struct input_event 类型数据#xff08;这是输入设备上报给应用层的原始数据#xff09;并进行…一、tslib介绍 tslib 是专门为触摸屏设备所开发的 Linux 应用层函数库并且是开源。 tslib 为触摸屏驱动和应用层之间的适配层它把应用程序中读取触摸屏 struct input_event 类型数据这是输入设备上报给应用层的原始数据并进行解析的操作过程进行了封装向使用者提供了封装好的 API 接口。 二、tslib 移植 首先进入到 tslib 的 git 仓库下载源码tslib下载地址 下载 1.16 版本的 tslib往下翻找到 1.16 版本的下载链接 点击红框字样进入下载页面 下载 tar.gz 格式的压缩包文件点击文字即可下载。 三、编译 tslib 源码 解压tslib-1.16.tar.gz 源码包 解压之后会生成 tslib-1.16 目录tslib包目录下创建一个 tools 目录然后在 tools 目录下创建 tslib 目录等会编译 tslib 库的时候将安装目录指定到这里如下所示 进入到 tslib-1.16 目录准备进行编译 tslib 源码 首先在配置工程之前先对交叉编译工具的环境进行设置 source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi执行下面这条命令对 tslib 源码工程进行配置 ./configure --hostarm-poky-linux-gnueabi --prefix/home/jack/linux/tslib/tools/tslib/–host 选项用于指定交叉编译得到的库文件是运行在哪个平台通常将–host 设置为交叉编译器名称的前缀譬如 arm-pokylinux-gnueabi-gcc 前缀就是 arm-poky-linux-gnueabi–prefix 选项则用于指定库文件的安装路径后面写自己设置的路径 接着执行 make make install至此交叉编译完成可以在安装目录下看到生成的文件夹。 移植的最后一步就是把 tslib 安装目录下的库文件、etc 下的配置文件以及编译得到的测试工具拷贝到开发板 Linux 系统目录下由于开发板出厂系统中已经移植了 tslib 库所以我们这里就不用拷贝了。如果是自己做的根文件系统并没有移植 tslib那么就需要把这些库、可执行文件以及配置文件拷贝到根文件系统中大致步骤如下 将安装目录 bin/目录下的所有可执行文件拷贝到开发板/usr/bin 目录下将安装目录 etc/目录下的配置文件 ts.conf 拷贝到开发板/etc 目录下将安装目录 lib/目录下的所有库文件拷贝到开发板/usr/lib 目录下。 四、基于tslib写单点触摸屏应用程序 使用 tslib 提供的 API 接口来编写触摸屏应用程序使用 tslib 库函数需要在我们的应用程序中包含 tslib 的头文件 tslib.h。 #include stdio.h #include stdlib.h #include tslib.h //包含 tslib.h 头文件 int main(int argc, char *argv[]) {struct tsdev *ts NULL;struct ts_sample samp;int pressure 0;//用于保存上一次的按压力,初始为 0,表示松开// /* 打开并配置触摸屏设备 ts ts_setup(NULL, 0);if (NULL ts) {fprintf(stderr, ts_setup error);exit(EXIT_FAILURE);}// /* 读数据 for ( ; ; ) {if (0 ts_read(ts, samp, 1)) {fprintf(stderr, ts_read error);ts_close(ts);exit(EXIT_FAILURE);}if (samp.pressure) {//按压力0if (pressure) //若上一次的按压力0printf(移动(%d, %d)\n, samp.x, samp.y);elseprintf(按下(%d, %d)\n, samp.x, samp.y);}elseprintf(松开\n);//打印坐标pressure samp.pressure;}ts_close(ts);exit(EXIT_SUCCESS); }可以看出上述步骤 打开触摸屏设备struct tsdev *ts_setup(const char *dev_name, int nonblock)参数 dev_name 指定触摸屏的设备节点参数 nonblock 表示是否以非阻塞方式打开触摸屏设备。配置触摸屏设备int ts_config(struct tsdev *ts)解析 ts.conf 文件中的配置信息加载相应的插件。读取触摸屏数据int ts_read(struct tsdev *ts, struct ts_sample *samp, int nr)ts_read 用于读取单点触摸数据 代码中ts_setup函数的dev_name参数为null函数内部会读取TSLIB_TSDEVICE 环境变量获取该环境变量的内容以得知触摸屏的设备节点。 ts_read()函数的 samp 参数是一个 struct ts_sample *类型的指针指向一个 struct ts_sample 对象struct ts_sample 数据结构描述了触摸点的信息。 编译应用程序 ${CC} -I /home/jack/linux/tslib/tools/tslib/include -L /home/jack/linux/tslib/tools/tslib/lib -lts -o ts_single_touch tslib_touch.c-I 指定tslib库的头文件路径 -L 指定tslib库路径 -l 指定链接库也就是 libts.so 库文件 结果如下 五、基于tslib写多点触摸屏应用程序 使用 ts_read_mt()函数读取多点触摸数据 #include stdio.h #include stdlib.h #include sys/ioctl.h #include linux/input.h #include tslib.h int main(int argc, char *argv[]) {struct tsdev *ts NULL;struct ts_sample_mt *mt_ptr NULL;struct input_absinfo slot;int max_slots;unsigned int pressure[12] {0}; //用于保存每一个触摸点上一次的按压力,初始为 0,表示松开int i;/* 打开并配置触摸屏设备 */ts ts_setup(NULL, 0);if (NULL ts) {fprintf(stderr, ts_setup error);exit(EXIT_FAILURE);}/* 获取触摸屏支持的最大触摸点数 */if (0 ioctl(ts_fd(ts), EVIOCGABS(ABS_MT_SLOT), slot)) {perror(ioctl error);ts_close(ts);exit(EXIT_FAILURE);}max_slots slot.maximum 1 - slot.minimum;printf(max_slots: %d\n, max_slots);/* 内存分配 */mt_ptr calloc(max_slots, sizeof(struct ts_sample_mt));/* 读数据 */for ( ; ; ) {if (0 ts_read_mt(ts, mt_ptr, max_slots, 1)) {perror(ts_read_mt error);ts_close(ts);free(mt_ptr);exit(EXIT_FAILURE);}for (i 0; i max_slots; i) {if (mt_ptr[i].valid) {//有效表示有更新!if (mt_ptr[i].pressure) { //如果按压力0if (pressure[mt_ptr[i].slot])//如果上一次的按压力0printf(slot%d, 移动(%d, %d)\n, mt_ptr[i].slot, mt_ptr[i].x, mt_ptr[i].y);elseprintf(slot%d, 按下(%d, %d)\n, mt_ptr[i].slot, mt_ptr[i].x, mt_ptr[i].y);}elseprintf(slot%d, 松开\n, mt_ptr[i].slot);pressure[mt_ptr[i].slot] mt_ptr[i].pressure;}}}/* 关闭设备、释放内存、退出 */ts_close(ts);free(mt_ptr);exit(EXIT_SUCCESS); }结果如下

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

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

相关文章

企业展示网站 价钱网站手机端打不开

目录 修改约束 创建数据库 添加约束 删除约束 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 修改约束 如果说表结构的修改还在可以容忍的范畴之内,那么约束的修改是绝对 100% 禁止的 所有的约束一定要在…

国内p2p网站建设大兴模版网站开发公司哪家好

SVN 一、SVN简介1. 概念1.1 repository(源代码库)1.2 Checkout(提取)1.3 Commit(提交)1.4 Update (更新) 2. SVN的主要功能2.1 目录版本控制2.2 真实的版本历史2.3 自动提交2.4 纳入版本控管的元数据2.5 选…

网站模板的制作怎么做小程序开发步骤大全

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中的第141道单链表OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 …

吴忠市建设局官方网站做网站开发能挣钱

前言 这里是【使用Python编写游戏辅助工具】的第三篇:鼠标连击器的实现。本文主要介绍使用Python来实现鼠标连击功能。 鼠标连击是指在很短的时间内多次点击鼠标按钮,通常是鼠标左键。当触发鼠标连击时,鼠标按钮会迅速按下和释放多次&#xf…

网站搭建和网站开发免费咨询医生在线男科

源码说明后台号码admin后台密码123456声明:该源码仅供学习出现,修复者不承担任何责任,下载安装即代表使用者自行承担责任源码安装方法需要服务器开启g11插件PHP5.6,主机用户推荐95云主机,因为已经开启所有扩展插件必须…

智能自助建站系统源码电子 东莞网站建设

一、安装python并配置环境变量 1、打开python官网,下载并安装 Welcome to Python.org 下载 寻找版本:推荐使用3.9版本,或其他表中显示为安全(security)的版本 安装:(略) 2、配置环…

柳州建设网官方网站最优惠的手机网站建设

发布时间:2023-7-20 主要更新内容: 1.增加3D地图功能 2.增加水球图 3.增加扇形图,在数据大屏 - 自定义组件中定义。 4.增加指标引导线功能,在数据大屏 - 自定义组件中定义。 5.详情页增加回调函数功能。 6.大屏/仪表盘模版下载,…

tiktok跨境电商怎么做锦州网站seo

目录标题 前言1、理论知识2、串口下载具体操作2.1、硬件准备2.2、软件准备2.3、设置单片机的启动模式为系统存储器启动2.4、软件配置2.5、下载程序 附:生成hex文件 前言 使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程…

如何建设个人网站和博客网站建设行业知乎

目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一&…

网站如何做传输网盘网站面包屑怎么做

NO.1 Java.alng.NullPointerException这个异常大家肯定都经常遇到,异常的解释是 “程序遇上了空指针 “,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图…

在线营销单页网站制作微信公众号小程序助手

linux 改java堆内存大小[2021-02-08 23:06:29] 简介:linux查内存大小的方法:首先打开应用程序;然后选择系统工具选项,并单击系统终端选项;接着在系统终端命令行输入【free -h】命令;最后在结果中找到total即可查看到系…

齐齐哈尔北京网站建设怎么做网页推广

随着科技的不断发展,VR技术已经成为当今市场上较为热门的新型技术之一了,而VR会议远程带看功能,更是为用户提供更加真实、自然的沉浸式体验。 随着5G技术的发展,传统的图文、视频这种展示形式已经无法满足消费者对信息真实性的需求…

青海省住建局和建设厅门户网站房地产楼盘微信网站建设营销方案

一只小狐狸带你解锁 炼丹术&NLP 秘籍作者:苏剑林(来自追一科技,人称“苏神”)前言需要许多时间步计算的循环神经网络,如LSTM、GRU,往往存在梯度爆炸的问题。其目标函数可能存在悬崖一样斜率较大的区域&…

大型网站 前端汤阴有没有做网站的公司

今天ChatGPT Plus版本做了升级。GPT-4增强了记忆功能,能够通过你的多次对话了解你的意图,并提供合适的回应,总结一句话就是:更加懂你! ChatGPT到底能干什么?我简单总结一下: 翻译:中…

技术支持 东莞网站建设母婴护理河南建筑工程信息

我在过去的几篇文章中都引用了方便的JDK工具jcmd ,但是像我以前对jps所做的那样,仅专注于其实用性 。 jcmd工具是随Oracle Java 7引入的,在通过使用Java标识Java进程的ID (与jps相似),获取堆转储 &#xff…

建设网站公司简介mir设计公司官网

安科瑞 华楠 摘要:目前,随着我国社会经济的快速发展,我国的各个领域都取得了突破性的发展,尤其是在电动汽车充电桩的设计方法,新型的电动汽车充电桩设计已经广泛的受到了人民群众的青睐与认可,而这种发展前…

青岛电子商务网站建设前端外包网站

背景重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾后才能正常更新,这里对整个MongoDB集…

建设网站的项目策划书住建部网站村镇建设管理平台

一、不可变数据的概念 不可变数据意味着数据一旦创建,就不能被更改。在React中,每次对数据的修改都会返回一个新的数据副本,而不会改变原始数据。这种方式确保了数据的稳定性和一致性。 二、Props中的不可变数据 在React中,组件…

制作网站建设拓扑图软件北京做软件最好的公司

文章目录 理解图的基本概念学习图的遍历算法学习最短路径算法案例分析:使用 Dijkstra 算法找出最短路径结论 🎉欢迎来到数据结构学习专栏~探索图结构:从基础到算法应用 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:I…

做钓鱼网站会被抓判刑吗池州网站seo

话不多说,咱们直接进入正题钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,所以我们需要一个在钉钉创建一个报警应用1、 我做的钉钉报警是基于钉钉自定义应用进行推送的所以需要登录钉钉管理后台进行创建(zabbix自定义应…