uc1698碰到的一些问题

用这个彩屏驱动控制单色LCD时,遇到的两个问题是:

 

第一,寻址和更新pixel的值不方便。

 

1.按照彩屏模式寻址,也就是column地址+1,对於单色屏来说相当于地址加3.

 

2.一定要同一地址的R、G、B三个值都赋好以后,才会更新。

   如果某一单元只赋了R,或者R和G,然后重新Set Address,那么会被丢弃,不会改变内存值。

 

因此,无法很随意的改变单色屏中任意pixel的值,比如要改变单色屏(0,1)这个点的值,那么只有把(0,0),(0,1)和(0,2)的值都更新,才能达到目的,同时又要注意不能改变(0,0)和(0,2)的值。

 

 

第二,读取内存数据时出现错误。

 

如果使用12bits的颜色模式,也就是R、G、B各占4bit,在写入后,12bits的有效数据是被存在2Bytes的空间内的。

读取某一地址的内存时,会将这12bits扩充为16bits被读出,第一个Byte是R5~1和G6~4,第二个Byte是G3~1和B5~1。

 

但在实际操作时,发现:

 

Set Address过后,Read Data,读到的第一个字节有问题,是不正确的。实际正确的数值从第二个Byte开始,也就是每次更新地址后读取数据,读的第一个Byte需要被丢弃。这是为什么?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章