当前位置: 首页 > news >正文

网站设计的素材有哪些免费网站下载直播软件

网站设计的素材有哪些,免费网站下载直播软件,大学生网站建设例题答案,网站收录更新17. 使用 tslib 库 1. tslib 简介2. tslib 移植2.1 下载 tslib 源码2.2 编译 tslib 源码2.3 tslib 安装目录下的文件夹介绍2.4 在开发板上测试 tslib 3. tslib 库函数介绍3.1 打开触摸屏设备3.2 配置触摸屏设备3.3 读取触摸屏设备 4. 基于 tslib 编写触摸屏应用程序4.1 单点触摸… 17. 使用 tslib 库 1. tslib 简介2. tslib 移植2.1 下载 tslib 源码2.2 编译 tslib 源码2.3 tslib 安装目录下的文件夹介绍2.4 在开发板上测试 tslib 3. tslib 库函数介绍3.1 打开触摸屏设备3.2 配置触摸屏设备3.3 读取触摸屏设备 4. 基于 tslib 编写触摸屏应用程序4.1 单点触摸应用程序4.2 多点触摸应用程序 1. tslib 简介 tslib 是专门为触摸屏设备所开发的 Linux 应用层函数库并且是开源。tslib 为触摸屏驱动和应用层之间的适配层 它把应用程序中读取触摸屏 struct input_event 类型数据这是输入设备上报给应用层的原始数据并进行解析的操作过程进行了封装向使用者提供了封装好的 API 接口。tslib 从触摸屏中获得原始的坐标数据 并通过一系列的去噪、去抖、坐标变换等操作来去除噪声并将原始的触摸屏坐标转换为相应的屏幕坐标。 2. tslib 移植 2.1 下载 tslib 源码 下载源码包git源码地址我下载的是 1.16 2.2 编译 tslib 源码 将上面下载的文件拷贝到系统根目录下。解压tar -xzf tslib-1.16.tar.gz在家目录下创建 tools/tslib 目录。 进入解压后的目录中使用source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi设置交叉编译工具./configure --hostarm-poky-linux-gnueabi --prefix/home/dnkrc/tools/tslib/ 执行配置注意将dnkrc替换为你的地址。然后 make再 make install 安装。 2.3 tslib 安装目录下的文件夹介绍 bin: 一些 tslib 提供的小工具用于测试触摸屏 etc: 有一个配置文件 ts.conf直接使用默认的就好 include: 只有一个头文件tslib.h包含一些结构体以及接口的声明 lib: 包含了编译 tslib 源码得到的库文件默认都是动态 share: 可忽略 2.4 在开发板上测试 tslib 将 tslib 目录下的一些文件拷贝到开发板系统目录下。 bin 目录下所有可执行文件拷贝到开发板 /usr/bin 目录下etc 目录下的配置文件 ts.conf 拷贝到开发板 /etc 目录下lib 目录下的所有库文件拷贝到开发板 /usr/lib 目录下 在开发板系统中还需要配置一些环境变量。 export TSLIB_CONSOLEDEVICEnone export TSLIB_FBDEVICE/dev/fb0 export TSLIB_TSDEVICE/dev/input/event1 export TSLIB_CONFFILE/etc/ts.conf export TSLIB_PLUGINDIR/usr/lib/ts如果想每次启动系统都能生效可以把这些命令放置在/etc/profile 脚本中执行 3. tslib 库函数介绍 3.1 打开触摸屏设备 #include tslib.h struct tsdev *ts_open(const char *dev_name,int nonblock); struct tsdev *ts_setup(const char *dev_name,int nonblock); int ts_clock(struct tsdev *);上面两个函数都可以打开触摸屏设备 dev_name: 指定了触摸屏的设备节点对于 ts_setup 可以设备为 NULL会读取环境变量从而获取设备节点 nonblock: 为 0 表示阻塞方式不为 0 表示非阻塞方式 3.2 配置触摸屏设备 int ts_config(struct tsdev *ts);就是解析 ts.conf 文件中的配置信息 3.3 读取触摸屏设备 int ts_read(struct tedev *ts,struct te_sample *samp,int nr); int ts_read_mt(struct tsdev *ts,struct ts_sample_mt **samp,int max_slots,int nr);参数 ts 指向一个触摸屏设备句柄参数 nr 表示对一个触摸点的采样数设置为 1 即可. ts_read()函数的 samp 参数是一个 struct ts_sample *类型的指针指向一个 struct ts_sample 对象 struct ts_sample 数据结构描述了触摸点的信息调用 ts_read()函数获取到的数据会存放在 samp 指针所指向的内存中。struct ts_sample 结构体内容如下所示 ts_read_mt()函数的 samp 参数是一个 struct ts_sample_mt **类型的指针多点触摸应用程序每一个触摸点的信息使用 struct ts_sample_mt 数据结构来描述一个触摸点的数据使用一个 struct ts_sample_mt 对象来装载将它们组织成一个 struct ts_sample_mt 数组调用 ts_read_mt()时将数组地址赋值给 samp 参数。struct ts_sample 结构体内容如下所示 4. 基于 tslib 编写触摸屏应用程序 4.1 单点触摸应用程序 #include stdio.h #include stdlib.h #include tslib.hint main(int argc,char *argv[]) {struct tsdev *ts NULL;struct ts_sample samp;int pressure 0; // 保存上一次压力初始为 0表示松开tsts_setup(NULL,0);for(;;){ts_read(ts,samp,1);if(samp.pressure) {if(pressure) // 上一次按压力printf(移动(%d, %d)\n, samp.x, samp.y);elseprintf(按下(%d, %d)\n, samp.x, samp.y);}elseprintf(松开\n);pressuresamp.pressure;}ts_close(ts);return 0; }压力大于 0则需要根据上一次压力判断状态。 编译代码时需要指定头文件、库文件的路径以及动态链接库文件名 ${CC} -I /home/dnkrc/tools/tslib/include -L /home/dnkrc/tools/tslib/lib -lts -o testApp testApp.c 4.2 多点触摸应用程序 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);return -1;}/* 获取触摸屏支持的最大触摸点数 */ioctl(ts_fd(ts), EVIOCGABS(ABS_MT_SLOT), slot);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 ( ; ; ) {ts_read_mt(ts, mt_ptr, max_slots, 1);for (i 0; i max_slots; i) {if (mt_ptr[i].valid) //有效表示有更新{if (mt_ptr[i].pressure) //如果按压力0{if (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);return 0; }
http://www.pierceye.com/news/897373/

相关文章:

  • 设计公司网站需要什么条件网站建设与管理课程代码
  • 局域网网站怎么做软件定制开发的发展前景
  • 门户网站关键词旅游网站开发报价单
  • 哪个网站做视频收益高社区服务呼叫系统 网站的建设
  • 网站是如何制作的工厂 电商网站建设
  • 展览设计网站有哪些南海网站智能推广
  • 贵阳做网站需要多少钱凡科网站建设完成下载下载器
  • 虚拟机上做钓鱼网站照片网站怎么做
  • 建网页和建网站编程猫少儿编程app下载
  • 网站首页介绍cms系统架构
  • 建设厅的工程造价网站东莞网站优化方式
  • 微信网站模板源码wordpress如何编辑
  • 做网站p图工具公司网站建设教程
  • 网站 选项卡 图标苏州网站网页设计
  • 柳州网站建设优化推广wordpress 不显示菜单
  • 网站死循环网站备案和域名备案区别
  • 做网站要学会什么语言装修公司网站模板下载
  • 门户网站建设自查报告网站关键词快速排名技术
  • 如何建网站费用多少全国工商企业查询平台
  • 兰州新区建站什么是网络营销取得成功的基础
  • 南昌 网站 公司wordpress迁移后媒体库丢失
  • 做移动网站点击软件cnzz网站建设
  • 高质量网站外链建设大揭秘做网站之前需要准备什么条件
  • 睢宁做网站百度一下做网站
  • 做国外购物网站国家高职示范校建设网站
  • 网站建设福州公司山西省大同市网站建设公司
  • 浙江网站建设推荐wordpress 增加小工具
  • 个人网站是商业的吗北京网站建设设计
  • 手机网站收费怎么停止网站
  • 网站建设 金疙瘩计划杭州小程序制作公司排行榜