STM32 TFT学习笔记——刷图

发布者:会飞的笨鱼最新更新时间:2019-03-11 来源: eefocus关键字:STM32  TFT  刷图 手机看文章 扫描二维码
随时随地手机看文章

主机环境:Windows 7 SP1


开发环境:MDK5.14


目标板:ST NUCLEO-F303RE


TFT型号:2.4英寸,带触摸,SD卡,240*320分辨率,26万色


驱动IC:ILI9325


ST库版本:STM32Cube_FW_F3_V1.1.0


做完刷屏之后就可以很容易实现刷图操作,唯一不同的是刷屏是我们自己写入颜色数据,而刷图你得获取图像的像素颜色数据先才能写入到ILI9325,看起来数据量很大,但是还好我们有工具可以很轻松的实现,该工具就是Image2Lcd,使用它可以生成16bit的RGB565格式颜色数据,如图



当前图像为240*320,保存结果会产生一个数组,数组大小为153600(240*320*2),


只需要编写主函数即可



LCD_SetAddress(0x00,0x0000);

ILI9325_Write_Address(0x22);

for(i = 0; i < 76800; i++)

{

ILI9325_Write_Value(gImage_123[i*2+1]<<8|gImage_123[i*2]);

}


gImage_123就是我们使用软件生成的图像颜色数据


此时我们可以再查看ILI9325寄存器,SS位和GS位控制图像扫描方式,SS控制水平方向(Source driver)S1~S720,GS控制垂直方向(Gate driver)G0~G320


SS选择


0:正向扫描S1-S720


1:反向扫描S720-S1


SS选择不同会导致图像左右镜像(SS位修改后GRAM数据需要重写)


GS选择


0:正向扫描G0-G320


1:反向扫描G320-G1


GS选择不同会导致图像上下镜像


SM位是配合GS位来实现Gate driver的不同扫描方式

通过测试可以发现SM位为1时图像显示不正常,即SM位我们一般是设置为0.


AM位控制GRAM地址更新方向


0:地址更新水平方向先


1:地址更新垂直方向先


AD[1:0]是控制GRAM地址是自增1还是自减1,示意图如下

一般默认情况下我们使用的是右上角的模式,即GRAM的水平地址和垂直地址都是增加的,且GRAM地址是更新水平地址先,这跟我们主观视觉相一致。GRAM的起始地址在左上角B(Begin)GRAM的结束地址在右下角E(End)。如果我们想实现横屏显示(默认情况下是竖屏显示)时就需要设置AM=1即地址更新垂直方向先。还是以上图为例,但是我们给图增加一个标志,如图


在图中增加了一串字符(字符是在图片上的,跟图片是一个整体)来标记当前是竖屏显示,实现横屏显示时,图像就要调整了应当是320*240而不是240*320了,同样修改图像增加字符串,如图

此时图像为320*240,修改代码,ILI9325_Write_Reg(0x03,0x1028);AM=1,ID[1:0]=0x02


效果图如下:

可以看到图像是横屏正确显示了。


ORG:是否允许原始地址移动,0时原始地址不移动,1时原始地址根据ID[1:0]设置移动。


但是在测试中发现ORG的设置对图像没影响。。。

关键字:STM32  TFT  刷图 引用地址:STM32 TFT学习笔记——刷图

上一篇:STM32 TFT学习笔记——触摸屏
下一篇:STM32 TFT学习笔记——刷屏

推荐阅读最新更新时间:2024-03-16 16:25

关于IAR开发STM32配置
因为自己要学Msp430还有ZigBee发现IAR真的挺好用,,,所以以后想着就用IAR写单片机程序,, 这次配置我不会把程序的配置弄得有条理,分开文件夹存放,,,我要把那些文件全都放到一块,,弄得乱七八糟,,,因为自己一开始学习用Keil开发32的时候,,网上的视频建工程全都是建的 很有条理,,对于一开始学的自己当时就感觉特麻烦,,,对于初学者更是感觉麻烦,,反而让初学者觉得难,,,,,所以呢!嘿嘿,,,,,,,哪样简单哪样弄 不要以为我不是一个讲究的人哈,我自己建的工程都是很有条理的,,看我Keil的,,,第一次用IAR嘛,,先怎样简单怎样建,,,,,,,, 首先你要有下载的STM32的固件库 新建一个文件夹 把
[单片机]
关于IAR开发<font color='red'>STM32</font>配置
基于TCP的STM32 IAP bootloader初步设计
最近研究了下IAP bootloader的实现方法,这在产品设计中是非常有用的。所谓IAP就是在线应用编程,可以用于远程程序升级。比如我们设计了一个产品,使用较为复杂的工艺被封装在精美的外壳中,或者被用于偏远的场景,如果在使用过程中需要修改程序,使用烧写器烧写是非常麻烦的,费时费力。真正的工业产品几乎都会有自己的bootloader。 其实,实现自己的bootloader在原理上并不复杂,就是通过MCU的接口把外部新的程序文件烧写到其内部的flash中,然后去运行新程序。以前怎么也没想过如何在同一个flash里面运行毫无关系的两个程序,bootloader就可以实现。其核心跳转代码就只有三行: app_pro
[单片机]
STM32单片机学习(5) 定时器中断实验
/* * * 软件功能: 定时器中断实验 * */ #include stm32f10x.h #include delay.h void RCC_Configuration(void); void GPIO_Configuration(void); void NVIC_Configuration(void); void TIM3_Configuration(u16 arr,u16 psc); /* 函数: int main(void) 功能: main主函数 参数: 无 返回: 无 / int main(void) { RCC_Configuration(); GPIO_Configuration(); NVIC_Co
[单片机]
STM32学习笔记(一)时钟和定时器
由于近期在准备海洋航行器比赛,正好趁此机会学习一下ARM,看到周围很多同学都在使用32,所以我也买了一块STM32F103ZET6,准备好好地学习一下。 STM32的时钟系统相当的复杂,包含了5个时钟源,分别是HSI HSE LSI LSE PLL,HSI是高速内部时钟、RC振荡器,频率为8M,HSE是高速外部时钟,即晶振,我的核心板上晶振为8M。LSI为低速内部时钟、RC振荡器,频率40k,LSE为低速外部时钟,接32.768kHz晶振,作为RTC时钟源。PLL为锁相环倍频输出,最大不超过72M。 我在学习定时器时先看的是TIM3,它挂载在APB1分频器上,APB1上面挂载的是低速外设,APB2上挂载高速外设。 在s
[单片机]
STM32如何通过FSMC点亮LCD
FSMC是Flexible static memory controller(可变静态存储控制器)的简称,是STM32系列采用的一种新型的存储器扩展技术,支持SRAM、Nor Flash、LCD、PSRAM、NAND Flash、PC Card等。只在某些芯片上有,使用前要查看对应的手册确定。 在FSMC的角度来看,外部存储分成了4个固定的大小为256MB的bank。 Bank1分成了4个子bank,每一个64MB大小,并且每个bank都有独立的片选,用来控制Nor Flash、RAM、PSRAM。Bank2和Bank3用来控制NAND Flash。Bank4控制PC Card。 不同的Bank共享了地址、数据、读、写
[单片机]
<font color='red'>STM32</font>如何通过FSMC点亮LCD
限量7折!米尔STM32MP135开发板
说到 MCU 就会想到 S MT32, 而 STM32MP1 作为新一代 MPU 的典范,有着极富开创意义的异构系统架构,兼容 MPU 和 MCU 的 双重优势,入门级、性价比高、能跑 L inux 系统、应用场景丰富 等 特点,深 受业界的喜爱! 米尔电子作为 ST 官方合作伙伴,先后开发了 S TM32MP151 、 S TM32MP157 、 STM32MP13 5 系列核心板和开发板,受到广大客户的认可。 米尔为了感谢广大客户的支持,推出 STM32MP1 35 开发板打折特惠活动! 米尔基于 STM32MP1 35 开发板 限 量 7 折! 7 折!
[嵌入式]
限量7折!米尔STM32MP135开发板
如何提高STM32的学习效率
第一章笔者的入门总结 每当我们在入门之前(ARM是这样,DSP也一样),总会会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。 大家一般都是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩板子(实践)。严格地说,应该是模仿实验。熟悉之后才会自己写程序代码实现某个功能。因此,如果你正在咨询STM32;如果你正对STM32心潮澎湃;如果你想入门STM32;那么,从现在开始,不要犹豫
[单片机]
STM32 STLINK的使用以及一些错误的解决方案
如果是第一次使用 需要先安装驱动 就和使用ch310一样 需要电脑识别 安装成功在设备管理器里面能看到stlink 的这个设备 错误解决方案 flash download failed - Target dll has been cancelled 错误解决办法 1 下载st-link utility并安装,选择Target- Connect 会提示下面的错误 Can not connect to target! Please select “Connect Under Reset” mode from Target- Settings menu and try again. 2 选择Target- Settings,Mod
[单片机]
<font color='red'>STM32</font> STLINK的使用以及一些错误的解决方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved