“3.5inch TFT Touch Shield”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
 
(未显示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="说明"></div>-->
+
<div class="tabbertab" title="说明" id="myintro">
<div class="tabbertab" title="资料">
+
=说明=
 
{{外围模块|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=http://{{SERVERNAME}}/shop/3.5inch-TFT-Touch-Shield.htm | 3.5inch TFT Touch Shield]]
+
|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= 320×240
+
|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>
 
===文档===
 
===文档===
*[http://www.waveshare.net/w/upload/0/09/3.5inch_TFT_Touch_Shield_User_Manual_CN.pdf 用户手册]
+
*[https://{{SERVERNAME}}/w/upload/7/71/3.5inch_TFT_Touch_Shield_Schematic.pdf 原理图]<br>
*[http://{{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 图纸]
  
 
===程序===
 
===程序===
*[http://{{SERVERNAME}}/w/upload/0/02/3.5inch_TFT_Touch_Shield_Code.7z 示例程序]<br>
+
<!--*[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>
  
 
===数据手册===
 
===数据手册===
*[http://{{SERVERNAME}}/w/upload/7/78/ILI9486_Datasheet.pdf ILI9486]
+
*[https://{{SERVERNAME}}/w/upload/7/78/ILI9486_Datasheet.pdf ILI9486]
*[http://{{SERVERNAME}}/w/upload/b/b0/XPT2046.pdf XPT2046_EN]
+
*[https://{{SERVERNAME}}/w/upload/b/b0/XPT2046.pdf XPT2046_EN]
*[http://{{SERVERNAME}}/w/upload/d/db/XPT2046-CH.pdf XPT2046_CN]
+
*[https://{{SERVERNAME}}/w/upload/d/db/XPT2046-CH.pdf XPT2046_CN]
  
 
===开发资料===
 
===开发资料===
*[http://{{SERVERNAME}}/w/upload/3/36/Image2Lcd.7z Image2Lcd图片取模软件]
+
*[https://{{SERVERNAME}}/w/upload/3/36/Image2Lcd.7z Image2Lcd图片取模软件]
*[http://{{SERVERNAME}}/w/upload/c/c6/Zimo221.7z 字摸提取软件]
+
*[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">
  
===视频===
+
=售后=
*[[2.8inch-TFT-Touch-Shield-Video|演示视频]][[File:video-logo.png|23px|link=2.8inch-TFT-Touch-Shield-Video]]
+
{{Service20}}</div>
<br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]]
 
 
</div>
 
</div>
<div class="tabbertab" title="FAQ"><br /></div>
 
<div class="tabbertab" title="售后"><br />{{Service11}}</div>
 

2023年11月7日 (二) 11:57的最新版本

说明

3.5inch TFT Touch Shield
{{{name2}}}
{{{name3}}}
功能简介
特性 3.5寸Arudino电阻屏 带LCD控制器 TFT
驱动芯片 ILI9486(LCD控制)、XPT2046(触摸)
分辨率 480x320
' 无特性,不解释
' 无特性,不解释
接口 SPI Arduino

Arduino

本例程已经在Arduino uno上测试通过,直接按下图插入Arduino uno即可

插入方式

连接图如下(点击可放大)
注意:下图是2.8寸TFT屏与Arduino uno的连接图,但本产品与其连接方式完全一样
Arduino connect 1.png
Arduino connect 2.png

硬件配置

  • 如果 Arduino 主板带有 ICSP 接口,将显示模块上的 SPI Config 开关置于 ICSP 方向(默认)(本公司的Arduino UNO主板是带有ICSP接口的,直接插上即可)
  • 如果 Arduino 主板没有 ICSP 接口,将显示模块上的 SPI Config 开关分别至于 SCLK\D13,MISO\D12, MOSI\D11

安装编译软件(Windows教程)

arduino IDE 安装教程

运行程序

解压压缩包,打开文件夹,打开Arduino文件夹,可以看到LCD_Show、LCD_ShowBMP、LCD_Touch三个工程文件夹
首先直接打开LCD_Show文件夹中的LCD_Show.ino文件,然后选择开发板型号Arduino UNO

3.5inchTFT Arduino test 1.png
选择对应的COM口

3.5inchTFT Arduino test 2.png
然后点击编译并上传即可

3.5inchTFT Arduino test 3.png

程序说明

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的连接图,但本产品与其连接方式完全一样
STM32 connect 1.JPG
STM32 connect 2.JPG

软件说明

例程是基于HAL库进行开发的。 下载程序,找到STM32程序文件目录,打开STM32\XNUCLEO-F103RB\lcd3in5-demo\MDK-ARM\ lcd3in5-demo.uvprojx
3.5inchTFT stm32 test 1.png

依次点击编译下载
3.5inchTFT stm32 test 2.png

程序说明

本例程在运行后,先显示一些字符、图案,然后再显示四张图片,最后再显示触摸画板功能,实际上就是在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侧才能正常工作



售后

联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证