环境:
mcu:8051U
屏幕:16-bit并口,ST7796U彩屏, 320*480*RGB
问题描述:
向16-bit并口屏写入字数据时,不理解传入字数据时的字节序。
一开始我是这样在命令“2CH”之后传入字数据的:
- /*
- LCM write 16-bit data
- args:
- WR14: word to write
- involved registers: A, WR14, DR28
- */
- LCMWRWDATA:
- SETB LCMBUSY
- MOV DR28, #WORD0 LCMIFDATL
- MOVH DR28, #WORD2 LCMIFDATL
- MOV @DR28, R14
- ; write LCMIFDATH register
- INC DR28, #1D
- MOV @DR28, R15
- ; write command
- MOV A, #85H
- MOV DR28, #WORD0 LCMIFCR
- MOVH DR28, #WORD2 LCMIFCR
- MOV @DR28, R11
- JB LCMBUSY, $
- RET
复制代码
但是有问题,具体来讲,屏幕始终无法从边缘开始显示,总是从非边缘区域开始显。捣鼓了2个半天,没啥可改的了,就试探性地修改写入字时的字节序,这一改不要紧,竟然从边缘开始显了。但是,颜色不对,这个问题不大。
把上面的代码中,写入R14和R15的顺序颠倒一下就不对了,不理解 :-)
有大佬能指导一下吗,感谢先 :-)
|