|

楼主 |
发表于 2021-3-14 15:15:21
|
显示全部楼层
本帖最后由 iffi123 于 2021-3-14 15:31 编辑
接下来我最想知道全屏刷新率究竟能到多少? (我居然最先想到的是这个疑问 )
手册上有一个串口时序,上面标的时钟周期,写最小100ns, 读150ns, 换算过来,写时钟不超过10MHz, STM32最低的SPI都有18M, SPI时钟分频是按2的幂来进行,比如系统时钟72M(以我用的F303为例), 它的SPI可以有36M, 18M, 9M, ...如果严格按手册,只能用到9MHz, 那么刷新一屏的数据153600byte(16位色彩模式下)需要0.14s, 如果不考虑屏内部的显示延迟, 刷新率不到8fps, 可怜见的
实际测试我把SPI分配比设置2(最小),也就是36M时钟, 这个已经超过标称的SPI速率,也超过LCD的参数, 但实际上工作的很好,厂家指标还是比较保守, 同样计算出来理论刷新率接近30。
在程序里加入测试代码, 用定时器产生准确的定时, 主程序不断循环刷全屏图像,并累加次数, 同时判断1s定时是否结束,设置断点,该次数就是每秒刷新的次数。 结果是24fps, 比计算值低些,后来把这个数字直接显示在屏幕上。
对于全屏图片,使用DMA比逐个发送,从图像显示时间目测感觉更快些, 如果只是局部少量显示更新,速度优势体现不出来,还不如逐个手动发送
风光效果,看起来比较差(照片摩尔纹比较多),实际还可以
触摸功能以后再试,目前还是先把常用的显示功能实现
|
|