- UID
- 1029342
- 性别
- 男
|
3.3 STM32解码并显示BMP图片程序 在BMP图片解码过程中,有两种方式:一种是将BMP图片数据从外部SD卡中调入内存中,从内存中解码,解码后将图片数据显示在TFT屏上;第二种方式是一边从SD卡中读数据一边解码显示,两种方式各有优缺点。第一种方式的优点是由于整个解码过程全部在内存中进行,所以解码的速度比较快,显示图片的速度快。由于一般处理器内部RAM都是有限的,而这种方式对RAM的消耗特别大,所以采用这种方式需要外扩SRAM.第二种方式是从SD卡总边读取边解码,例如一般FAT32文件簇的大小都是512字节,所以可以以簇为单位来读取图片信息,然后显示接着读取下一簇,这种方式的缺点是,由于SD卡的SPI方式速度较慢,解码一张320x240的图片大概需要1s,但是这种方式对系统的内存消耗比较低,比较适合于没有外部RAM的系统。本系统中,采用第二种方式进行解码显示,STM32采用外部8 MHz的晶振作为输入时钟,内部锁相环将时钟倍频到72 MHz作为系统时钟,采用GPIO口模拟8080时序并行驱动2.8寸TFT屏,屏幕分辨率为320x240,处理器首先完成各种外设初始化,接着初始化FAT文件系统,然后从SD卡中读取一簇的数据,解码显示,接着读取下一簇。整个程序的流程图如图4所示。
图4 BMP解码流程图 4 结论
本文采用了基于ARM的Cortex-M3内核的STM32,它基于最新ARMv7架构,设计了一个BMP图片解码系统,完成了在2.8寸TFT屏上解码并显示BMP图片,通过读取SD卡中的图片数据,边读取边解码显示,实现了在内存有限的处理器中的BMP图片的解码算法。 |
|