16位320*240的位图大小为150K字节,而对于EM-STM3210E开发板来说,RAM仅有128K,远不够显示一幅完整位图,红牛的开发板即使有256K的RAM,但是刨去堆、栈及TinyCLR本身所用,剩下的也不多了,所以要显示全屏位图,必须分块显示。

但是这样带来两个问题,一幅图要分块制作,相当繁琐,不过这个可以升级TBConvert程序,让其支持自动分块功能,这个问题算完美解决了。下个问题,从Flash读取需要一定时间,显示也需要一定时间,这样显示全屏位图的过程,就是从上到下,一个一个画块依次显示,效果不太好。幸好LCD驱动,第7个寄存器可以控制显示过程,可以在更新显存数据时,不更新画面,不过这个过程不要太长,否则LCD屏上会有不好看的条文出现。

升级后的TBConvert程序如下,可以设定要分割的块数,注意高度必须要整除块数


收藏 打印