77范文网 - 专业文章范例文档资料分享平台

触摸屏实验

来源:网络收集 时间:2019-08-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \ #include \#include \#include \#include \#include \

#include \ #include \

#include \ #include \

#include \

void Load_Drow_Dialog(void) {

LCD_Clear(WHITE);//清屏

POINT_COLOR=BLUE;//设置字体为蓝色

LCD_ShowString(lcddev.width-24,0,200,16,16,\显示清屏区域

}

POINT_COLOR=RED;//设置画笔蓝色

//////////////////////////////////////////////////////////////////////////////// //电容触摸屏专有部分 //画水平线 //x0,y0:坐标 //len:线长度 //color:颜色

void gui_draw_hline(u16 x0,u16 y0,u16 len,u16 color) { }

//画实心圆 //x0,y0:坐标 //r:半径 //color:颜色

void gui_fill_circle(u16 x0,u16 y0,u16 r,u16 color) {

u32 i;

u32 imax = ((u32)r*707)/1000+1; u32 sqmax = (u32)r*(u32)r+(u32)r/2; u32 x=r;

gui_draw_hline(x0-r,y0,2*r,color); for (i=1;i<=imax;i++) {

if ((i*i+x*x)>sqmax)// draw lines from outside {

if(len==0)return;

LCD_Fill(x0,y0,x0+len-1,y0,color);

}

}

}

if (x>imax) { } x--;

gui_draw_hline (x0-i+1,y0+x,2*(i-1),color); gui_draw_hline (x0-i+1,y0-x,2*(i-1),color);

// draw lines from inside (center) gui_draw_hline(x0-x,y0+i,2*x,color); gui_draw_hline(x0-x,y0-i,2*x,color);

//两个数之差的绝对值 //x1,x2:需取差值的两个数 //返回值:|x1-x2|

u16 my_abs(u16 x1,u16 x2) { }

//画一条粗线

//(x1,y1),(x2,y2):线条的起始坐标 //size:线条的粗细程度 //color:线条的颜色

void lcd_draw_bline(u16 x1, u16 y1, u16 x2, u16 y2,u8 size,u16 color) {

u16 t;

int xerr=0,yerr=0,delta_x,delta_y,distance;

if(x1>x2)return x1-x2; else return x2-x1;

int incx,incy,uRow,uCol;

if(x1

if(delta_x>0)incx=1; //设置单步方向 else if(delta_x==0)incx=0;//垂直线 else {incx=-1;delta_x=-delta_x;} if(delta_y>0)incy=1;

else if(delta_y==0)incy=0;//水平线 else{incy=-1;delta_y=-delta_y;}

if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴 else distance=delta_y;

for(t=0;t<=distance+1;t++ )//画线输出 {

gui_fill_circle(uRow,uCol,size,color);//画点 xerr+=delta_x ; yerr+=delta_y ; if(xerr>distance) { }

if(yerr>distance) {

yerr-=distance; uCol+=incy; xerr-=distance; uRow+=incx;

}

}

}

//////////////////////////////////////////////////////////////////////////////// //5个触控点的颜色

const u16

POINT_COLOR_TBL[OTT_MAX_TOUCH]={RED,GREEN,BLUE,BROWN,GRED}; //电阻触摸屏测试函数 void rtp_test(void) {

u8 key; u8 i=0; while(1) {

key=KEY_Scan(0); tp_dev.scan(0);

//触摸屏被按下

if(tp_dev.sta&TP_PRES_DOWN) {

if(tp_dev.x[0]

if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除

//画图

}

else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED);

}else delay_ms(10); //没有按键按下的时候

if(key==KEY_RIGHT) //KEY_RIGHT按下,则执行校准程序 {

LCD_Clear(WHITE);//清屏

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库触摸屏实验在线全文阅读。

触摸屏实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/676002.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: