查看:
2513
|
回复:
3
|
UG5664驱动问题讨论求助
|
猥琐禽兽
2
主题
5
回复 |
发表于2018-07-03 15:43:22
|
只看该作者
1#
电梯直达
去年在立创商城买的两个UG5664,一个白光一个绿光,用STM8S208驱动,屏除了能点亮外,没有任何反应,就是屏能显示,但改不了任何显示内容,如下面照片的样子:
硬件连接采用6800接口,接口定义如下:
原理图: 驱动流程(嗯,说驱动流程就是我驱动程序的步骤咯,我习惯用汇编,所以很多人可能不习惯,就整理成流程了)如下: ;初始化
RST=0 100mS RST=1 100mS Write_Command 0XFD ;写命令 Write_DATA 0x12 ;写数据
Addr (0x1C,0x5B,0x00,0x3F)
Write_Command 0xA0 Write_DATA 0x14 Write_DATA 0x11
Write_Command 0xAE
Write_Command 0xb3 Write_DATA 0x91
Write_Command 0xCA Write_DATA 0xA2
Write_Command 0xA1 Write_DATA 0x00
Write_Command 0xb3 Write_DATA 0x00
Write_Command 0xA6
Write_Command 0xB5 Write_DATA 0x00
Write_Command 0xAB Write_DATA 0x00
Write_Command 0xB4 Write_DATA 0xA0 Write_DATA 0xFD
Write_Command 0xC1 Write_DATA 0xAF ;亮屏
Write_Command 0xC7 Write_DATA 0x0F
Write_Command 0xB8 Write_DATA 0x0C Write_DATA 0x18 Write_DATA 0x24 Write_DATA 0x30 Write_DATA 0x3C Write_DATA 0x48 Write_DATA 0x54 Write_DATA 0x60 Write_DATA 0x6C Write_DATA 0x78 Write_DATA 0x84 Write_DATA 0x90 Write_DATA 0x9C Write_DATA 0xA8 Write_DATA 0xB4
Write_Command 0x00
Write_Command 0xB1 Write_DATA 0xE2
Write_Command 0xD1 Write_DATA 0xA2 Write_DATA 0x20
Write_Command 0xBB Write_DATA 0x1F
Write_Command 0xB6 Write_DATA 0x08
Write_Command 0xBE Write_DATA 0x07
Write_Command 0xA6 Write_Command 0xAF addr (1c,5b,00,3f) Write_Command 0x5C ( Write_DATA 0xnn 循环写入若干数据 ) ;设定地址 ADDR Write_Command 0x15 Write_DATA a Write_DATA b Write_Command 0x75 Write_DATA c Write_DATA d 下面是今天才弄的汇编代码: OLEDINIT: 前几天联系立创客服时提过该问题,但客服说不太清楚这个,需要联系供应商,因此又自己搞了几天,各种可能都试过了,结果还是一样,确实没办法了,所以在此提出,看看有哪位大神用过这个模块,给点提示,望能解决这个问题。同时希望商城及供应商参与讨论,谢谢! 另外与数据手册差异很大的一点就是前面原理图中的R18,就是SSD1322数据手册中P23页中的R1,SSD1322数据手册中标的1M;同时也是商城提供的UG5664数据手册上的P11页的参考原理图上的R1,而在UG5664中R1为680K,但实际上用这两个参数屏都点不亮,我现在这个亮度(请参考前面照片),现在的R1阻值为63.4K。 哎,这个帖子都写了一个月了还发不了,今天再发试试? |
猥琐禽兽
2
主题
5
回复 |
发表于2018-07-09 10:43:07
|
只看该作者
2#
|
立创工程小李
5
主题
110
回复 |
发表于2018-07-09 11:32:57
|
只看该作者
3#
您好,楼主,我这边能联系了供应商的技术,他说您这个现象是数据没写进去。这种现象表明硬件连接,通信什么都是正常的了,现在是初始化代码都是正常在跑的了,他让你查一下写数据的方式就可以了。 另外 ,在写数据时是需加这条指令的 |
猥琐禽兽
2
主题
5
回复 |
发表于2018-07-09 12:00:55
|
只看该作者
4#
@立创工程小李:你说的这个就是写RAM命令啊,我前面流程里面有的,代码里面都有,初始化完成后,设定显示行列地址,然后设置写RAM命令,就是5C命令,接下来写一定量的显示数据,但是显示结果都没有任何变化,包括改变显示数据本身即每次写入的数据,包括更改行列地址及范围等,都试过的! 这个是前面流程里面的,包含写RAM命令,然后才是写RAM!
这个是最新的代码截图,在设定地址子程序里面,设定完成后写入写数据(RAM命令),主程序在调用该地址设定子程序后,写入若干显示数据,结果还是那样,即屏幕没有任何变化,改变显示数据(00H\FFH及其他)、改变地址范围区域、改变写入的显示数据量,增加操作间延时,降低CPU主频,全都试过,结果完全一样,从第一次点亮到现在几个月了,显示内容就没变化过!另外有一次在网上找到一个文档,好像是说在写数据命令前需要增加一个扩展指令30H,这个也试过了,还是没用。扩展指令30H的说法在UG5664、SSD1322的文档里面都没查到!您看能否让供应商提供一个标准的初始化流程程序共参考?只需要初始化、单色及灰度模式、清屏即可(改变数据可实现全屏亮、灭即可)! 上面源码截图中的OLEDWC是6800写命令子程序,OLEDWD是6800写数据子程序。!谢谢 |
|