wang1234sheng 发表于 2010-12-30 21:14:56

裸奔三部曲第三章

本帖最后由 wang1234sheng 于 2010-12-30 21:19 编辑

快元旦了,大家元旦快乐啊!!祝大家:新年快乐!有得玩的好好玩,玩得开心,有得学的好好学,学有所获啊!!哈哈

第三章玩转触摸屏
第一节例程3.1初次使用触摸屏

一、实验目的:
1、初次使用触摸屏、体验使用触摸屏的快感;
2、点击触摸屏的六个不同区域,实现对显示六张不同照片的控制。

二、例程3.1实验效果图:
三、我们所需要做的工作摘要:
1、首先进行对触摸屏进行触摸操作,并采集返回的数据:
烧写原厂代码并使用串口工具选择5,选择进行Touchpanel试验:
Please select function :
0 : Please input 1-11 to select test
1 : Test PWM
2 : RTC time display
3 : Test ADC
4 : Test interrupt and key scan
5 : Test Touchpanel
......


第二节 例程3.2实现触摸屏点小图片控制切换大图片

一、实验目的:
编写一个属于自己的缩小显示图片的函数,在屏幕的下方显示六张小图片(在不改变原图片数组的前提下),并实现可以通过点击小图片即可切换显示全屏幕的大图片内容的功能。
二、实验效果图:
......
三、我们需要做的工作摘要:
1、拥有例程3.1的基础
2、自己编写一个缩小显示图片的函数,可以指定图片的左上角坐标和缩小的比例系数k:左上角坐标为(x0,y0),图片原图大小为(h,l),缩小比例为k。

void Paint_Bmp1(int x0,int y0,int h,int l,int k,unsigned char bmp[])//例如,k=8;意思就是将图片缩小到1/8,k可以等于2、4、8等
{
        int x,y;
        U32 c;
        int p = 0;       
       
......


第三节   例程3.3   触摸校正

引言:当有的同学进行例程3.2的实验的时候,发现并没有出现触摸不准、触摸不到等触摸控制错误问题的时候,大家是否留意到了我在例程3.2的实验中使用的进行触摸控制判断的参数数据呢?
仔细阅读源代码,当大家留意到例程3.2中的这一段的函数中的红色下划线部分的时候,肯定有很多的同学会很疑惑这些数据是怎么来的吧?为什么我们使用六张图片的长度来六等分屏幕宽度的1000(出厂程序将xdata和ydata的范围都确定成了0-1000)的时候,我们得到的需要使用的ydata数据不是应该依次为:
ydata>1000*5/6(即ydata>833)、
ydata>1000*4/6(即ydata>666)、
ydata>1000*3/6(即ydata>500)
ydata>1000*2/6(即ydata>333)
ydata>1000*1/6(即ydata>166)
而是使用了下面这些数据:
if(xdata<240 && ydata>800) Paint_Bmp(0, 0, 320, 240, tu1_320240);
                else if(xdata<240 && ydata>650)        Paint_Bmp(0, 0, 320, 240, tu2_320240);
                else if(xdata<240 && ydata>510)        Paint_Bmp(0, 0, 320, 240, tu3_320240);
                else if(xdata<240 && ydata>364)        Paint_Bmp(0, 0, 320, 240, tu4_320240);
                else if(xdata<240 && ydata>225)        Paint_Bmp(0, 0, 320, 240, tu5_320240);
                else if(xdata<240)        Paint_Bmp(0, 0, 320, 240, tu6_320240);
                else ;
由这个思考,在这里作者将为大家提供了一种经本人自己独立思考、构思并最终自创的一种实现简单易行的触摸校正的方法,供大家参考。

一、        实验目的:
1、学习并理解触摸屏原理,初步学习一下研究生数学的数值分析(此处使用的就是);
2、学会使用作者此处在分析四线电阻式触摸屏原理的基础上提出的一种简单的触摸校正算法;

二、实验内容:
理解触摸校正原理并通过数值分析编写出一个简单实用的触摸校正算法。是经过该算法校正过之后的void __irq AdcTsAuto(void)函数返回的xdata和ydata值和屏幕像素点位置坐标值基本相等。

1.四线电阻式触摸屏硬件工作原理
按照工作原理和传输信息的介质不同,触摸屏分为电阻式、电容感应式、红外线式以及表面声波式。由于电阻式触摸屏具有工作面与外界完全隔离,受环境影响较小,具有不怕灰尘和水汽、稳定性高、不漂移等优点,特别适合工业现场
.......







实在是不想把2010年的事情拖到2011年,所以这些天推掉了收到的其他不少工作回头来把这些书稿整理了出来,其实写的还不是很完善,还想再增加一个触摸校正之后的类似小游戏的例程的,不过为了大家早点和书稿的全稿(草稿版)见面,还是先发上来吧!如果春节在家有空,方便的话就再给大家增加一个例程,然后把全书整理到一个pdf,算是第一版吧,呵呵...到时候希望大家喜欢!也可以多提宝贵意见,意见可以发到我的邮箱wang1234sheng@163.com,呵呵,多多交流,互相学习。尤其是像有那个OpenGL的高手,还望不吝赐教啊,本人最近有一个OpenGL的任务需要做啊!!哈哈,谢谢先啦!

2010年快要结束了,裸奔三部曲作者wang1234sheng在此,祝:大家元旦快乐!学习愉快!!!

鬼鬼一哈 发表于 2010-12-30 21:34:06

这个要绝对支持。。

jilux 发表于 2010-12-31 08:47:00

好东西呀顶

sjl666518 发表于 2010-12-31 09:08:56

好东西不过还是没有触摸屏校正的 代码

gaohongfeijj 发表于 2010-12-31 10:53:51

千呼万唤始出来。。。。。。谢谢分享

czm0605010127 发表于 2010-12-31 14:19:02

终于出来了,顶一个!!!!

zhaifangchao 发表于 2011-1-1 01:47:18

新手,就是要祝大家元旦快乐

hemingf 发表于 2011-1-21 17:54:53

终于出来了,顶个

hemingf 发表于 2011-1-21 17:57:22

郁闷,快没金钱了我,哪位兄台肯施舍点啊:handshake

max123 发表于 2011-1-24 11:46:03

楼主辛苦了~

chenyh85 发表于 2011-1-26 23:58:06

终于看到了传说中的第三章!!

江海 发表于 2011-3-1 21:58:32

:lol这个要绝对支持。。

yunyingye 发表于 2011-3-17 09:20:36

相当不错 很好很强大

lymnank 发表于 2011-3-24 16:05:43

我的光盘里没有这一章,好紧张。。。
感谢楼主!!!

hdwmh2011 发表于 2011-3-24 20:32:38

不都有了吗 呵呵。。。。
页: [1] 2 3 4
查看完整版本: 裸奔三部曲第三章