|
本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑
液晶显示驱动横屏到竖屏的问题要点
一个液晶原来点阵是横屏的或者竖屏的,由于需要要将其换方向显示,那么如何去修改呢?前阵子我做了这方面的实验,有以下一些体会与大家讨论下.
由于我的程序以前是通过通用的液晶驱动去访问液晶的,现在只需修改液晶驱动,而程序源代码则不需修改。
液晶驱动修改部分也不复杂。总结来说需要注意以下几个方面:
- 修改声明变量的类型。对于320*240的液晶来说x和y一个声明是8位的另一个是16位的,哪么在改变显示方向的时候,需要改变他们的变量类型。
- 修改缓冲区的大小。这个显而易见,虽然不论横屏竖屏缓冲区总占用空间是一样的,但是数组延伸方向是要变化的,因此需要修改。
- 修改全屏填充函数,由原先的横向填充改成纵向填充。
- 改读、写单字节函数。将里面的x,y互换。
- 修改地址计算函数。将里面x,y互换。这里必须注意需要将x方向,或y方向反向一下显示,否则显示结果将是一个镜面。
- 对于其他函数一律保持原样,可以重复使用。
以上就是这次修改的总结。当然这样的修改还无法实现对显示的缩放,在超出显示范围的值会被略去。以后再考虑这个问题。
|
|