完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 衛與曉夢 于 2019-8-7 16:49 编辑
TFT画出64个格子,触屏得到坐标值,怎么把它换算成二进制数,再算成十六进制数 #include "face.h" uint16_t x,y,a,b; unsigned char tu[32]={0}; button_type button_menu[]={150, 280, 50, 40 , BLACK , BLUE, "clear"}; void face_main(void) { clear_All_TFT(BLACK); display_button_24x24(button_menu); LCD_SetTextColor(CYAN); LCD_SetBackColor(BLACK); uint16_t zz=0; for(;zz<17;zz++) { ILI9341_DrawLine(15*zz,0,15*zz,240); ILI9341_DrawLine(0,15*zz,240,15*zz); } } void touch_main(void) { static strType_XPT2046_Coordinate cinfo={-1,-1,-1,-1}; if(XPT2046_PENIRQ_Read() == XPT2046_PENIRQ_ActiveLevel) { XPT2046_DelayUS(10000); if(XPT2046_PENIRQ_Read() == XPT2046_PENIRQ_ActiveLevel) { XPT2046_Get_TouchedPoint(&cinfo,strXPT2046_TouchPara); if(scan_button_24x24(&cinfo,button_menu) ) // 返回主界面 { face_main(); } LCD_SetTextColor(RED); LCD_SetBackColor(BLACK); a=cinfo.x; b=cinfo.y; } } for(x=0;x<16;x++) for(y=0;y<16;y++) { if((a>x*15&&a<(x+1)*15)&&(b>y*15&&b<(y+1)*15)) { LCD_SetTextColor(CYAN); LCD_SetBackColor(BLACK); ILI9341_DrawRectangle(x*15,y*15,15,15,1); break; } } } |
|
相关推荐
5个回答
|
|
哪里来的2进制数呀
|
|
|
|
修改了一下,是我没写明白啊,不好意思
|
|
|
|
你的坐标值是什么样子的呀
|
|
|
|
64个格子,你是想得到位置坐标吗?会不会是一个行,列值,你最好举个例子那样会更清楚
|
|
|
|
64个格子,你是想得到位置坐标吗?会不会是一个行,列值,你最好举个例子那样会更清楚
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1276 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1209 浏览 3 评论
2288 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1372 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1799 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 03:24 , Processed in 0.947571 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号