4966|8

65

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

基于Helper2416的电子书设计——有图有真相啦! [复制链接]

本帖最后由 fwjieok 于 2014-8-17 12:05 编辑

基于Helper2416的电子书设计

先上图和视频,二楼说学习到的知识点,三楼提问问题请老大解答。。。。。


演示视频如下:



最新回复

这贴子终于又出来了! 1、HELPER2416开发板的触摸屏驱动是:  drivers/input/touchscreen/s3c2410_ts.c,在这里边也要做滤波,光在tslib里做滤波是不够的,至于生成input设备,你看一下里边的代码就知道了。 2、关于机器码,我也没有研究详细研究,抱歉,不能回答。。。   详情 回复 发表于 2014-8-19 20:55
点赞 关注

回复
举报

554

帖子

0

TA的资源

版主

沙发
 
效果不错!不好意思啊,占了你的楼!呵呵
 
个人签名My dreams will go on...
http://www.jyxtec.com
 

回复

65

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 fwjieok 于 2014-8-17 11:24 编辑

学习到的知识点比较多,无法一一写博客和博文了,列举如下吧,可以自行查阅了解:

1.  程序支持三种输入设备: 触摸屏,按键,串口终端;那在应用程序中需要用select机制来监听三个设备,任一个设备可读,就返回,并读取相应的键值,在主程序中来进行上一页和下一页的执行。

2. 对于触摸屏来说,调用的是tslib库提供的标准接口函数,从而可以读取到触摸按下的坐标值,分别用到ts_open,ts_read,ts_config函数,具体怎么用,大家可以自行分析tslib提供的ts_print.c, ts_test.c等例子。

3. 对于按键来说,Helper2416把按键作为一个input设计,设备节点在/dev/input/event0,应用程序中可以读这个设备文件,从而得到相应的键值,struct input_event这个结构体是input子系统与用户空间的数据接口,具体大家去百度上查资料吧,可以读取到键值和键的状态(按下还是松开)。

4. 对于串口终端来说,有两种工作模式:标准模式,原始模式,比如我们输入了一个命令,回册才会执行,这就是标准模式,可以设置串口终端的状态,使其工作于原始模式,这样输入一个字符,立即返回给系统,应用程序可以用fgetc()函数直接读取出来这个字符。

5. 对于汉字和字符的显示来讲,我显示字符是用的是ASCII码,显示汉字时用的是GBK汉字库,这涉及到文件编码了,对于ANSI编码格式的文件,英文字符用一个字节表示,中文汉字用两个字节表示,所以在判断读取到的编码值时要分英文和中文,从而在ASCII码表和GBK字库中查找到该编码对应的点阵数据,然后逐点把它刷到LCD上。

6. LCD操作对应的是framebuffer子系统,在使用前,要获得LCD的信息,然后mmap到用户空间,这样写屏就简单多了。

7. 需要对Linux驱动相关子系统有所了解,要不然就没法操作硬件,主要是input子系统,framebuffer设备,触摸屏设备,涉及知识较多,不一一列举,自行百度。

8. 关于调试环境,用的老大提供的FC12镜像,开启NFS服务后,把虚拟机中的/nfsroot 挂载到开发板的/mnt目录下,这样在虚拟机中编译的程序,可以直接在开发板上访问,再也不用来回的传来传去的麻烦了,要不然,程序调了N多天,得麻烦死。关于建立NFS相关方法,网上一查一堆。。。。。。。



 
 
 

回复

65

帖子

2

TA的资源

一粒金砂(中级)

4
 

     从上面的驱动程序中可以看出,只有当按键的状态发生改变,按下或松开时,才会上报事件,所以说,按键一直按着不放,只会上报一次报键,所以在应用程序中无法读取到连续的按键按下,只能读到一次按下,然后再读,就无数据。


 
 
 

回复

554

帖子

0

TA的资源

版主

5
 
贴子写得不错,就是看不到视频,不知道为啥?

点评

已重新上传了视频,可以看啦  详情 回复 发表于 2014-8-17 11:01
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

65

帖子

2

TA的资源

一粒金砂(中级)

6
 
spacexplorer 发表于 2014-8-16 22:01
贴子写得不错,就是看不到视频,不知道为啥?

已重新上传了视频,可以看啦
 
 
 

回复

65

帖子

2

TA的资源

一粒金砂(中级)

7
 
问问题,请老大回答:

1. Helper2416开发板的触摸屏驱动是哪个文件啊,驱动应该是ADC采集数据吧,这些数据是怎样和tslib连接起来,从而进行滤波,变换而得到绝对坐标供应用层读取的呢?也就是说,tslib的最底层的接口是哪个文件?从哪里读到ADC数据,又在哪里注册成为/dev/input/event1设备,,,网上都是说直接编译tslib就能用了,为啥直接就能用啊,,,,求解? 知道老大忙,指点一下在哪个地方就行。

2. uboot引导内核时检验的机器码是几啊,我自已编译了个别的内核想尝试引导,但是死掉了,网上说是机器码不对。。。。。

点评

这贴子终于又出来了! 1、HELPER2416开发板的触摸屏驱动是: drivers/input/touchscreen/s3c2410_ts.c,在这里边也要做滤波,光在tslib里做滤波是不够的,至于生成input设备,你看一下里边的代码就知道了。 2、关  详情 回复 发表于 2014-8-19 20:55
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

8
 
关于触摸屏驱动可以参考韦东山第二期视频中有讲,关于机器码,默认值是uboot的gd->bd->bi_arch_number,也可以通过uboot的环境变量machid设置。
 
 
 

回复

554

帖子

0

TA的资源

版主

9
 
fwjieok 发表于 2014-8-17 12:23
问问题,请老大回答:

1. Helper2416开发板的触摸屏驱动是哪个文件啊,驱动应该是ADC采集数据吧,这些数 ...

这贴子终于又出来了!
1、HELPER2416开发板的触摸屏驱动是:  drivers/input/touchscreen/s3c2410_ts.c,在这里边也要做滤波,光在tslib里做滤波是不够的,至于生成input设备,你看一下里边的代码就知道了。
2、关于机器码,我也没有研究详细研究,抱歉,不能回答。。。

 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表