最近看到有网友用NAND flash刷屏,刷到20fps。我想起来原来测试STM32 SDIO读写速度时,有10MB/s的速度。用这个速度放未压缩的视频,可以超过60fps。于是我写个代码试试看效果。
经过测试,不限制速度的话,可以达到72fps。320 x 240 x 2byte/pixel x 72fps = 11,059,200 byte/second。
我用Yadif+Bob产生60fps的视频,转成一张张BMP,然后写程序转成RGB565的,写到SD卡里,最后STM32直接从指定扇区开始读数据到LCD。全程用DMA操作,CPU使用率<1%
拍了一段视频,声音是后来加上去的。拍的视频是30fps的,显得不那么流畅了。实际是非常流畅的。
http://v.youku.com/v_show/id_XNzg3OTQwNDk2.html
代码:
STM32F103_SD2LCD.rar
(195.7 KB, 下载次数: 900)
2014-9-22 12:17 上传
点击文件名下载附件
有兴趣的网友可以试试,Keil 和 IAR的工程都有。不过需要根据自己的板子改一下GPIO配置、FSMC地址等。硬件需要用4bit的SDIO模式。还有SD卡要能有10MB/s的读速度,不过一般的卡都有这个速度了。
谁家的没关系,随便板子都行,只要是4bit SDIO+FSMC驱动的ILI9325/ILI9320。我这个是n年前我同学在淘宝上买的。触摸屏都压裂了
最后变成连续的一张张BMP数据,BMP头都去掉了,这样STM32只要一直读数据传给LCD就行,简单方便。
真的啊。代码发出来了,可以验证真假。SDIO有10MB/s读速度,FSMC的ILI9325有18MB/s的写速度,刷图速度完全可以超过60fps
一周热门 更多>