分享我的STM32刷图测试代码:STM32F103+SDIO+ILI9325 播放60fps视频

2019-12-10 18:10发布

最近看到有网友用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的读速度,不过一般的卡都有这个速度了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
chun2495
1楼-- · 2019-12-21 13:44
楼主真厉害!赞一个!
caixiuwen
2楼-- · 2019-12-21 15:08
楼主知道不知道一般视频是怎样存储到SD卡或者flash的?
这样容量太大了,我想给我的仪器嵌入一段视频教学,但没有SD卡,只有几百兆的flash 不知道该用怎样的方案?
hellolinux
3楼-- · 2019-12-21 20:38
chun2495 发表于 2014-9-25 11:16
楼主知道不知道一般视频是怎样存储到SD卡或者flash的?
这样容量太大了,我想给我的仪器嵌入一段视频教学, ...

一般视频都是压缩过的,小很多。STM32不太适合做这个。要不就降低帧率改小尺寸,用MJPEG。或者再找找其他算法、方案什么的。
chenqinyao
4楼-- · 2019-12-21 23:35
mark    之
chun2495
5楼-- · 2019-12-22 03:49
 精彩回答 2  元偷偷看……
caixiuwen
6楼-- · 2019-12-22 05:21
caixiuwen 发表于 2014-9-25 15:09
一般视频都是压缩过的,小很多。STM32不太适合做这个。要不就降低帧率改小尺寸,用MJPEG。或者再找找其他 ...

楼主可有bmp转mjpeg程序?

一周热门 更多>