“3.5inch TFT Touch Shield”的版本间的差异
(→文档) |
|||
(未显示7个用户的90个中间版本) | |||
第1行: | 第1行: | ||
+ | <div class="wiki-pages blue-color"> | ||
+ | <!--<div class="tabberlive newwsnav" id="wsnavbar"> | ||
+ | <ul class="tabbernav"> | ||
+ | <li class="nav-link">[[#myintro|说明]]</li> | ||
+ | <li class="nav-link">[[#myresources|资料]]</li> | ||
+ | <li class="nav-link">[[#myfaq|FAQ]]</li> | ||
+ | <li class="nav-link">[[#mysupport|售后]]</li> | ||
+ | </ul> | ||
+ | </div>--> | ||
<div class="tabber"> | <div class="tabber"> | ||
− | + | <div class="tabbertab" title="说明" id="myintro"> | |
− | + | =说明= | |
{{外围模块|colorscheme=blue | {{外围模块|colorscheme=blue | ||
|name = 3.5inch TFT Touch Shield | |name = 3.5inch TFT Touch Shield | ||
− | |img=[[File:2.8inch-TFT-Touch-Shield-intro.jpg|360px|link= | + | |img=[[File:2.8inch-TFT-Touch-Shield-intro.jpg|360px|link=https://{{SERVERNAME}}/shop/3.5inch-TFT-Touch-Shield.htm | 3.5inch TFT Touch Shield]] |
|category1=Arduino LCD | |category1=Arduino LCD | ||
|category2=显示屏 | |category2=显示屏 | ||
第15行: | 第24行: | ||
|feature-value1=ILI9486(LCD控制)、XPT2046(触摸) | |feature-value1=ILI9486(LCD控制)、XPT2046(触摸) | ||
|feature-name2= 分辨率 | |feature-name2= 分辨率 | ||
− | |feature-value2= | + | |feature-value2= 480x320 |
| interface1 =Arduino | | interface1 =Arduino | ||
| interface2 = SPI | | interface2 = SPI | ||
}} | }} | ||
+ | =='''Arduino'''== | ||
+ | 本例程已经在Arduino uno上测试通过,直接按下图插入Arduino uno即可<br /> | ||
+ | ===插入方式=== | ||
+ | 连接图如下(点击可放大)<br /> | ||
+ | 注意:下图是2.8寸TFT屏与Arduino uno的连接图,但本产品与其连接方式完全一样<br/> | ||
+ | [[File:Arduino_connect_1.png|700px]]<br /> | ||
+ | [[File:Arduino_connect_2.png|700px]]<br /> | ||
+ | |||
+ | ===硬件配置=== | ||
+ | |||
+ | *如果 Arduino 主板带有 ICSP 接口,将显示模块上的 SPI Config 开关置于 ICSP 方向(默认)(本公司的Arduino UNO主板是带有ICSP接口的,直接插上即可)<br/> | ||
+ | * 如果 Arduino 主板没有 ICSP 接口,将显示模块上的 SPI Config 开关分别至于 SCLK\D13,MISO\D12, MOSI\D11<br/> | ||
+ | |||
+ | ===安装编译软件(Windows教程)=== | ||
+ | [https://{{SERVERNAME}}/wiki/Arduino_ide_download arduino IDE 安装教程] | ||
+ | <!-- | ||
+ | 打开浏览器,访问[https://www.arduino.cc/en/Main/Software arduinoIDE的官方下载页面],不熟练英文没关系,可以切换到中文(点击可放大):<br /> | ||
+ | [[file:e-paper_arduino_ide_software1.png|700px]]<br /> | ||
+ | 点击此处下载软件<br /> | ||
+ | [[file:e-paper_arduino_ide_software2.png]]<br /> | ||
+ | 打开刚刚的下载的安装软件,双击安装,一路点击next即可:<br /> | ||
+ | [[file:e-paper_arduino_ide_software3.png]]<br /> | ||
+ | [[file:e-paper_arduino_ide_software4.png]]<br /> | ||
+ | [[file:e-paper_arduino_ide_software5.png]]<br /> | ||
+ | [[file:e-paper_arduino_ide_software6.png]]<br /> | ||
+ | 快安装完成的时候,会弹出安装USB驱动,点击安装<br /> | ||
+ | [[file:e-paper_arduino_ide_software7.png]]<br /> | ||
+ | [[file:e-paper_arduino_ide_software8.png]]<br /> | ||
+ | 安装完成,桌面生成了快捷打开方式,双击打开之后弹出arduino IDE软件<br /> | ||
+ | [[file:e-paper_arduino_ide_software9.png]]<br /> | ||
+ | --> | ||
+ | |||
+ | ===运行程序=== | ||
+ | 解压压缩包,打开文件夹,打开Arduino文件夹,可以看到LCD_Show、LCD_ShowBMP、LCD_Touch三个工程文件夹<br/> | ||
+ | 首先直接打开LCD_Show文件夹中的LCD_Show.ino文件,然后选择开发板型号Arduino UNO<br/> | ||
+ | <br/> | ||
+ | [[File:3.5inchTFT_Arduino_test_1.png|800px]]<br/> | ||
+ | 选择对应的COM口<br/> | ||
+ | <br/> | ||
+ | [[File:3.5inchTFT_Arduino_test_2.png|800px]]<br/> | ||
+ | 然后点击编译并上传即可<br/> | ||
+ | <br/> | ||
+ | [[File:3.5inchTFT_Arduino_test_3.png|800px]]<br/> | ||
+ | <br/> | ||
+ | |||
+ | ===程序说明=== | ||
+ | LCD_Show用于显示一些不同颜色形状的图案及时间、 LCD_ShowBMP用于显示BMP格式的图片、LCD_Touch用于使用触摸功能<br/> | ||
+ | <br/> | ||
+ | 本产品使用的显示控制器为ILI9486 ,我们需要通过SPI通讯协议对该控制器进行初始化,初始化函数都写在LCD_Driver.cpp里<br/> | ||
+ | 可以看到在LCD_Show.ino中有 | ||
+ | <pre> | ||
+ | System_Init();//系统初始化、配置串口波特率、SPI及相关引脚等 | ||
+ | </pre> | ||
+ | <pre> | ||
+ | LCD_SCAN_DIR Lcd_ScanDir = SCAN_DIR_DFT; //设置扫描方式 | ||
+ | LCD_Init( Lcd_ScanDir, 200);//初始化屏幕,并传递了扫描方式及背光亮度 | ||
+ | </pre> | ||
+ | |||
+ | 关于屏幕显示的功能函数都写在LCD_GUI.cpp里,每个函数的功能及传递的参数在源代码里都有解释,需要使用时直接调用即可 | ||
+ | *画点 | ||
+ | <pre> | ||
+ | void GUI_DrawPoint(POINT Xpoint, POINT Ypoint, COLOR Color, | ||
+ | DOT_PIXEL Dot_Pixel, DOT_STYLE DOT_STYLE) | ||
+ | </pre> | ||
+ | *画线(实线或虚线) | ||
+ | <pre> | ||
+ | void GUI_DrawLine(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, | ||
+ | COLOR Color, LINE_STYLE Line_Style, DOT_PIXEL Dot_Pixel) | ||
+ | </pre> | ||
+ | *画矩形(空心或实心) | ||
+ | <pre> | ||
+ | void GUI_DrawRectangle(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, | ||
+ | COLOR Color, DRAW_FILL Filled, DOT_PIXEL Dot_Pixel) | ||
+ | </pre> | ||
+ | *画圆(空心或实心) | ||
+ | <pre> | ||
+ | void GUI_DrawCircle(POINT X_Center, POINT Y_Center, LENGTH Radius, | ||
+ | COLOR Color, DRAW_FILL Draw_Fill , DOT_PIXEL Dot_Pixel) | ||
+ | </pre> | ||
+ | *显示字符 | ||
+ | <pre> | ||
+ | void GUI_DisChar(POINT Xpoint, POINT Ypoint, const char Acsii_Char, | ||
+ | sFONT* Font, COLOR Color_Background, COLOR Color_Foreground) | ||
+ | </pre> | ||
+ | *显示字符串 | ||
+ | <pre> | ||
+ | void GUI_DisString_EN(POINT Xstart, POINT Ystart, const char * pString, | ||
+ | sFONT* Font, COLOR Color_Background, COLOR Color_Foreground ) | ||
+ | </pre> | ||
+ | *显示数字 | ||
+ | <pre> | ||
+ | void GUI_DisNum(POINT Xpoint, POINT Ypoint, int32_t Nummber, | ||
+ | sFONT* Font, COLOR Color_Background, COLOR Color_Foreground ) | ||
+ | </pre> | ||
+ | *显示时间 | ||
+ | <pre> | ||
+ | void GUI_Showtime(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, | ||
+ | DEV_TIME *pTime, COLOR Color) | ||
+ | </pre> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | 在使用LCD_ShowBMP用于显示图片实验前,先把资料中PIC文件夹下中的图片复制到SD卡根目录 | ||
+ | (根目录想必你应该明白吧,就是将图片直接存到SD卡,不要放在任何子文件夹里哈)<br/> | ||
+ | 然后将SD卡插入屏幕背面的SD卡卡槽里开始下载程序验证即可<br/> | ||
+ | *在这里要注意的是SD卡要是FAT格式的,图片要是480*320像素24位色深.BMP格式<br/> | ||
+ | |||
+ | 在这里也稍微做下解释,本例程显示BMP图片首先也是通过SPI协议来读取SD卡中BMP格式的图片数据,再把这些数据以图像显示出来即可<br/> | ||
+ | 在LCD_ShowBMP.ino中:<br/> | ||
+ | <pre> | ||
+ | SD_Init();//SD卡初始化 | ||
+ | </pre> | ||
+ | <pre> | ||
+ | LCD_ShowBMP();//显示BMP图片 | ||
+ | </pre> | ||
+ | 这些函数都写在LCD_Bmp.cpp里,实际上从SD卡中读取特定文件名的BMP格式的图片数据再调用我们自己写好的显示函数把这些数据重新“表达”为图像<br/> | ||
+ | 这种方式不管在哪个平台,其原理都是类似的,感兴趣的朋友可以查阅相关资料对照相关代码认真研究一下 | ||
+ | <br/> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | 在LCD_Touch.ino中: | ||
+ | |||
+ | <pre> | ||
+ | TP_Init( Lcd_ScanDir );//触摸板初始化,传递参数为扫描方式 | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | TP_GetAdFac();//校准屏幕 | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | TP_Dialog();//清屏 | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | TP_DrawBoard();//开启画板 | ||
+ | </pre> | ||
+ | |||
+ | 该例程运行后,屏幕右边会有五种颜色,系统默认为黑色,触摸以选择画笔颜色;点击AD按钮,按屏幕提示点击红色+号对屏幕进行校准;点击右上角 | ||
+ | CLEAR按钮对画板清屏<br/> | ||
+ | 触摸实验默认使用了四组校准值,可以满足四个方向的画笔操作,在右边有五种颜色的选择,画笔大小默认为 9 个像素点<br/> | ||
+ | 关于触摸屏的相关函数都写在LCD_Touch.cpp里,且其功能及传递参数的用途均有解释 | ||
+ | |||
+ | 程序提供了像素点大小为 | ||
+ | Width 5,Height 8 font8 | ||
+ | Width 7,Height 12 font12 | ||
+ | Width 11,Height 16 font16 | ||
+ | Width 14,Height 20 font20 | ||
+ | Width 17,Height24 font24 | ||
+ | 五种大小的字体库 | ||
+ | |||
+ | *如果你需要不同大小不同字体的字符,可以根据资料中提供的字模提取软件生成自己想要的字库 | ||
+ | *事实上你也可以Image2Lcd图片取模软件将不同大小不同格式的图片转换成数组数据,再用我们写好的函数显示出来 | ||
+ | *资料中给出了所有控制芯片的数据手册供大家参考,如果你想更加深入的了解底层函数为什么这样写,就去数据手册看看吧! | ||
+ | |||
+ | ==STM32== | ||
+ | 本例程已经在XNUCLEO-F103RB上测试通过,直接按下图插入XNUCLEO-F103RB即可。XNUCLEO-F103RB的型号是STM32F103RBT6,如果有需要移植程序,请对照原理图按实际引脚连接<br /> | ||
+ | ==插入方式:== | ||
+ | 连接图如下(点击可放大):<br /> | ||
+ | 注意:下图是2.8寸TFT屏与XNUCLEO-F103RB的连接图,但本产品与其连接方式完全一样<br/> | ||
+ | [[File:STM32_connect_1.JPG|700px]]<br/> | ||
+ | [[File:STM32_connect_2.JPG|700px]]<br/> | ||
+ | |||
+ | ===软件说明=== | ||
+ | |||
+ | 例程是基于HAL库进行开发的。 下载程序,找到STM32程序文件目录,打开STM32\XNUCLEO-F103RB\lcd3in5-demo\MDK-ARM\ | ||
+ | lcd3in5-demo.uvprojx<br/> | ||
+ | [[File:3.5inchTFT_stm32_test_1.png|800px]]<br/> | ||
+ | <br/> | ||
+ | 依次点击编译下载<br/> | ||
+ | [[File:3.5inchTFT_stm32_test_2.png|800px]]<br/> | ||
+ | <br/> | ||
+ | |||
+ | ===程序说明=== | ||
+ | 本例程在运行后,先显示一些字符、图案,然后再显示四张图片,最后再显示触摸画板功能,实际上就是在Arduino平台代码三个工程的整合 | ||
+ | 在主函数中,我们将三个主要函数按顺序放置且将TP_DrawBoard();放在死循环中即可实现上述功能 | ||
+ | <pre> | ||
+ | GUI_Show(); | ||
+ | LCD_Show_bmp(Bmp_ScanDir , Lcd_ScanDir); | ||
+ | TP_DrawBoard(); | ||
+ | </pre> | ||
+ | |||
+ | 同Arduino平台的一样使用的是相同的驱动和程序框架,关于不同函数的位置参考Arduino教程即可<br/> | ||
+ | 在使用LCD_ShowBMP用于显示图片实验前,先把资料中PIC文件夹下中的图片复制到SD卡根目录 ,然后将SD卡插入屏幕背面的SD卡卡槽里开始下载程序验证即可<br/> | ||
+ | *在这里要注意的是SD卡要是FAT格式的,图片要是480*320像素24位色深.BMP格式<br/> | ||
+ | 程序提供了像素点大小为 | ||
+ | Width 5,Height 8 font8 | ||
+ | Width 7,Height 12 font12 | ||
+ | Width 11,Height 16 font16 | ||
+ | Width 14,Height 20 font20 | ||
+ | Width 17,Height24 font24 | ||
+ | 五种大小的字体库 | ||
+ | |||
+ | *如果你需要不同大小不同字体的字符,可以根据资料中提供的字模提取软件生成自己想要的字库 | ||
+ | *事实上你也可以Image2Lcd图片取模软件将不同大小不同格式的图片转换成数组数据,再用我们写好的函数显示出来 | ||
+ | *资料中给出了所有控制芯片的数据手册供大家参考,如果你想更加深入的了解底层函数为什么这样写,就去数据手册看看吧! | ||
+ | |||
+ | </div> | ||
+ | <div class="tabbertab" title="资料" id="myresources"> | ||
+ | <h1>资料</h1> | ||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/7/71/3.5inch_TFT_Touch_Shield_Schematic.pdf 原理图]<br> |
− | *[ | + | *[https://www.waveshare.net/w/upload/3/38/3_5inch_tft_touch_shiled_drawing.zip 图纸] |
===程序=== | ===程序=== | ||
− | *[ | + | <!--*[https://{{SERVERNAME}}/w/upload/0/02/3.5inch_TFT_Touch_Shield_Code.7z 示例程序]<br> |
+ | --> | ||
+ | <!--上述程序已在2021.01.27日更新,如有还有新的更新,请勿删除历史版本的链接--> | ||
+ | *[https://www.waveshare.net/w/upload/b/b9/3.5inch_TFT_Touch_Shield_Code_V2.7z 示例程序]<br> | ||
===数据手册=== | ===数据手册=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/7/78/ILI9486_Datasheet.pdf ILI9486] |
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/b/b0/XPT2046.pdf XPT2046_EN] |
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/d/db/XPT2046-CH.pdf XPT2046_CN] |
===开发资料=== | ===开发资料=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/3/36/Image2Lcd.7z Image2Lcd图片取模软件] |
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/c/c6/Zimo221.7z 字摸提取软件] |
+ | |||
+ | |||
+ | </div> | ||
+ | <div class="tabbertab" title="FAQ" id="myfaq"> | ||
+ | |||
+ | <h1>FAQ</h1> | ||
+ | <br /> | ||
+ | {{FAQ|在NUCLEO开发板上无法正常使用该LCD?| | ||
+ | |||
+ | *对于一些没有ICSP接口的开发板(如NUCLEO),需要将拨码开关拨向非ICSP侧才能正常工作 | ||
+ | |||}} | ||
+ | {{FAQ|3.5inch TFT Touch Shield 最大功耗是?| | ||
+ | 5V/138.6mA | ||
+ | |||}} | ||
+ | </div> | ||
+ | <div class="tabbertab" title="售后" id="mysupport"> | ||
− | = | + | =售后= |
− | + | {{Service20}}</div> | |
− | < | ||
</div> | </div> | ||
− | |||
− |
2023年11月7日 (二) 11:57的最新版本
说明
| |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Arduino
本例程已经在Arduino uno上测试通过,直接按下图插入Arduino uno即可
插入方式
连接图如下(点击可放大)
注意:下图是2.8寸TFT屏与Arduino uno的连接图,但本产品与其连接方式完全一样
硬件配置
- 如果 Arduino 主板带有 ICSP 接口,将显示模块上的 SPI Config 开关置于 ICSP 方向(默认)(本公司的Arduino UNO主板是带有ICSP接口的,直接插上即可)
- 如果 Arduino 主板没有 ICSP 接口,将显示模块上的 SPI Config 开关分别至于 SCLK\D13,MISO\D12, MOSI\D11
安装编译软件(Windows教程)
运行程序
解压压缩包,打开文件夹,打开Arduino文件夹,可以看到LCD_Show、LCD_ShowBMP、LCD_Touch三个工程文件夹
首先直接打开LCD_Show文件夹中的LCD_Show.ino文件,然后选择开发板型号Arduino UNO
选择对应的COM口
然后点击编译并上传即可
程序说明
LCD_Show用于显示一些不同颜色形状的图案及时间、 LCD_ShowBMP用于显示BMP格式的图片、LCD_Touch用于使用触摸功能
本产品使用的显示控制器为ILI9486 ,我们需要通过SPI通讯协议对该控制器进行初始化,初始化函数都写在LCD_Driver.cpp里
可以看到在LCD_Show.ino中有
System_Init();//系统初始化、配置串口波特率、SPI及相关引脚等
LCD_SCAN_DIR Lcd_ScanDir = SCAN_DIR_DFT; //设置扫描方式 LCD_Init( Lcd_ScanDir, 200);//初始化屏幕,并传递了扫描方式及背光亮度
关于屏幕显示的功能函数都写在LCD_GUI.cpp里,每个函数的功能及传递的参数在源代码里都有解释,需要使用时直接调用即可
- 画点
void GUI_DrawPoint(POINT Xpoint, POINT Ypoint, COLOR Color, DOT_PIXEL Dot_Pixel, DOT_STYLE DOT_STYLE)
- 画线(实线或虚线)
void GUI_DrawLine(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, COLOR Color, LINE_STYLE Line_Style, DOT_PIXEL Dot_Pixel)
- 画矩形(空心或实心)
void GUI_DrawRectangle(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, COLOR Color, DRAW_FILL Filled, DOT_PIXEL Dot_Pixel)
- 画圆(空心或实心)
void GUI_DrawCircle(POINT X_Center, POINT Y_Center, LENGTH Radius, COLOR Color, DRAW_FILL Draw_Fill , DOT_PIXEL Dot_Pixel)
- 显示字符
void GUI_DisChar(POINT Xpoint, POINT Ypoint, const char Acsii_Char, sFONT* Font, COLOR Color_Background, COLOR Color_Foreground)
- 显示字符串
void GUI_DisString_EN(POINT Xstart, POINT Ystart, const char * pString, sFONT* Font, COLOR Color_Background, COLOR Color_Foreground )
- 显示数字
void GUI_DisNum(POINT Xpoint, POINT Ypoint, int32_t Nummber, sFONT* Font, COLOR Color_Background, COLOR Color_Foreground )
- 显示时间
void GUI_Showtime(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend, DEV_TIME *pTime, COLOR Color)
在使用LCD_ShowBMP用于显示图片实验前,先把资料中PIC文件夹下中的图片复制到SD卡根目录
(根目录想必你应该明白吧,就是将图片直接存到SD卡,不要放在任何子文件夹里哈)
然后将SD卡插入屏幕背面的SD卡卡槽里开始下载程序验证即可
- 在这里要注意的是SD卡要是FAT格式的,图片要是480*320像素24位色深.BMP格式
在这里也稍微做下解释,本例程显示BMP图片首先也是通过SPI协议来读取SD卡中BMP格式的图片数据,再把这些数据以图像显示出来即可
在LCD_ShowBMP.ino中:
SD_Init();//SD卡初始化
LCD_ShowBMP();//显示BMP图片
这些函数都写在LCD_Bmp.cpp里,实际上从SD卡中读取特定文件名的BMP格式的图片数据再调用我们自己写好的显示函数把这些数据重新“表达”为图像
这种方式不管在哪个平台,其原理都是类似的,感兴趣的朋友可以查阅相关资料对照相关代码认真研究一下
在LCD_Touch.ino中:
TP_Init( Lcd_ScanDir );//触摸板初始化,传递参数为扫描方式
TP_GetAdFac();//校准屏幕
TP_Dialog();//清屏
TP_DrawBoard();//开启画板
该例程运行后,屏幕右边会有五种颜色,系统默认为黑色,触摸以选择画笔颜色;点击AD按钮,按屏幕提示点击红色+号对屏幕进行校准;点击右上角
CLEAR按钮对画板清屏
触摸实验默认使用了四组校准值,可以满足四个方向的画笔操作,在右边有五种颜色的选择,画笔大小默认为 9 个像素点
关于触摸屏的相关函数都写在LCD_Touch.cpp里,且其功能及传递参数的用途均有解释
程序提供了像素点大小为
Width 5,Height 8 font8 Width 7,Height 12 font12 Width 11,Height 16 font16 Width 14,Height 20 font20 Width 17,Height24 font24
五种大小的字体库
- 如果你需要不同大小不同字体的字符,可以根据资料中提供的字模提取软件生成自己想要的字库
- 事实上你也可以Image2Lcd图片取模软件将不同大小不同格式的图片转换成数组数据,再用我们写好的函数显示出来
- 资料中给出了所有控制芯片的数据手册供大家参考,如果你想更加深入的了解底层函数为什么这样写,就去数据手册看看吧!
STM32
本例程已经在XNUCLEO-F103RB上测试通过,直接按下图插入XNUCLEO-F103RB即可。XNUCLEO-F103RB的型号是STM32F103RBT6,如果有需要移植程序,请对照原理图按实际引脚连接
插入方式:
连接图如下(点击可放大):
注意:下图是2.8寸TFT屏与XNUCLEO-F103RB的连接图,但本产品与其连接方式完全一样
软件说明
例程是基于HAL库进行开发的。 下载程序,找到STM32程序文件目录,打开STM32\XNUCLEO-F103RB\lcd3in5-demo\MDK-ARM\
lcd3in5-demo.uvprojx
依次点击编译下载
程序说明
本例程在运行后,先显示一些字符、图案,然后再显示四张图片,最后再显示触摸画板功能,实际上就是在Arduino平台代码三个工程的整合 在主函数中,我们将三个主要函数按顺序放置且将TP_DrawBoard();放在死循环中即可实现上述功能
GUI_Show(); LCD_Show_bmp(Bmp_ScanDir , Lcd_ScanDir); TP_DrawBoard();
同Arduino平台的一样使用的是相同的驱动和程序框架,关于不同函数的位置参考Arduino教程即可
在使用LCD_ShowBMP用于显示图片实验前,先把资料中PIC文件夹下中的图片复制到SD卡根目录 ,然后将SD卡插入屏幕背面的SD卡卡槽里开始下载程序验证即可
- 在这里要注意的是SD卡要是FAT格式的,图片要是480*320像素24位色深.BMP格式
程序提供了像素点大小为
Width 5,Height 8 font8 Width 7,Height 12 font12 Width 11,Height 16 font16 Width 14,Height 20 font20 Width 17,Height24 font24
五种大小的字体库
- 如果你需要不同大小不同字体的字符,可以根据资料中提供的字模提取软件生成自己想要的字库
- 事实上你也可以Image2Lcd图片取模软件将不同大小不同格式的图片转换成数组数据,再用我们写好的函数显示出来
- 资料中给出了所有控制芯片的数据手册供大家参考,如果你想更加深入的了解底层函数为什么这样写,就去数据手册看看吧!
FAQ
- 对于一些没有ICSP接口的开发板(如NUCLEO),需要将拨码开关拨向非ICSP侧才能正常工作
5V/138.6mA