|
发表于 2022-9-14 16:32:13
|
显示全部楼层
|
手头有两个什么行的u盾
拆之,试试能不能点亮
分两部分
************************************
第一部分,spi通信的实践
一、先拆黑的
主板
屏
元件
二、分析时序
简单看下屏的接口,有9个引脚根据电路可以确定几个脚
挂逻辑分析仪
当把u盾接入电脑时,电脑上是有弹窗,并有一个新的盘符逻辑分析仪采集的数据也较多
而只给u盾加电时,数据量少一些
各信号的特征
放大后具体对照一下
由图可知:00为data;01为sck;02为d/c;03为reset;04为ss。定义为
看一下时钟与数据的对应关系应该在时钟脉冲的后沿进行采样的,而且时钟为高是为空闲符合spi的modo3
这部分的内容可以看之前的一帖:学习一下常用的串行通信协议(uart/iic/spi)这个spi协议是比较怪的,没有校验、没有应答,就好像从设备是个听话的小孩子让做什么就会做什么的回到正题,设置协议,
数据获取正确
试试改变spi模式,都是错误数据
找到指令区
导出数据
整理
与常见的lcd指令比较
lcd应该使用了st7565的主控
整体数据情况
看了一下st7565手册中的时序,确实使用了modo3
下面这个图是使用另一个逻辑分析仪
三、点亮
程序中使用了spi库,并且使用模式3
再分析一下程序的时序
lcd初始化情况
确认使用modo3
顺利点亮
四、12864屏的按页寻址
在屏的转换期间,可以拍到下图的情况
这是因为程序中使用了按页寻址的方式整体128*64的屏分为8页,每页码为128*8字模的16*16取的大概就是这样的
取模的方式为
arduino使用spi通信方式点亮st7565为主控的lcd的程序:
(2.47 kb, 下载次数: 11)
**************************************
第二部分,iic通信的实践
一、拆白色的屏
主板
主板背面
元件
屏接口
电池信息
屏线丝印
这个屏有7个引脚,除了电源和地,背光,还有3个引脚根据在路电路
估计屏使用的是iic通信上逻辑分析仪
为什么要带着屏?这个也走了弯路,看了后面就明白了
二、分析时序
获取数据
信号特征
放大
配置协议
取得数据
从设备写地址
导出数据
分析数据
注意:每个指令前要发送0x80。就是说0x80后跟着一个字节的指令,而0x40后则跟着一直是数据。
指令情况,又是st7565
屏的脚位定义
前面说要带屏取数据,是因为没有屏的时候,相当于没有从设备,没有应答会取不全数据的
三、修改库文件
1、确认屏的地址用程序扫描一下
屏的地址是0x3f
其写地址应该是0x7e
逻辑分析仪也能看出,只有0x7e有应答
2、修改arduino的wire库文件写好程序,不能点亮屏,又用逻辑分析仪观察了一个数据
怎么会只写32个字节就停止了呢?
原来,在wire库中的空间分配有给了32个字节
相应的两个文件位置
修改为150个字节总够了吧
修改后的全局变量增加了不少
四、点亮
这回点亮了
使用iic的好处是接线是比较少的
加个背光
arduino使用iic通信方式点亮st7565为主控的lcd的程序:
(2.74 kb, 下载次数: 23)
谢谢观赏!!
祝坛友们快乐每一天!!
|
打赏
-
|