M202MD28A屏幕模块摸索记录

这阵精神状态不是很好,再加上汉化组运营乱七八糟的事一直没抽出空写博客啥的

前一阵刷咸鱼的时候看到了这个屏,便宜的离谱,店家说没有资料,但是评论区有人点亮,于是果断下手搞了几个研究下

简单摸索了下绝大部分功能都摸清了

过程

引脚

原装默认的是RS232 / USB,我买到的是RS232版本的,两个版本改ttl的方法都一样

一开始试着用咸鱼上给的飞线图,踩了个大坑,后来发现完全不对,只有tx是连着的,流控的两个信号也没引出来,导致一直没接到传出的数据(;´д`)(后面有原因)

咸鱼的图

下面这个是正确的引脚顺序,RS232引脚顺序同下,R27、R28不要短接(图中有误),也可以选几百欧的小电阻,封装是0603

启动时拉高CTS会进入测试模式

指令/通讯

文档:https://drive.asanatsa.cc/s/PVF2

(网上似乎就这一个版本的文档,RS232版本的似乎从来没泄露出来过)

RS232/TTL通讯波特率9600,八位数据,停止位1

显示ASCII字符发送对应编码即可,双字节文字(中文日语等)见下文

显示全角文本

首先需要把2-byte character设为1启用全角(双字节)字符模式并写入ROM(FROM Write命令,不写入不会生效),再设置2-byte character type来设置语言(默认为简体中文)

也可以使用FROM Write命令保存配置,就不用每次上电设定语言模式了

最后发送文本数据

各个语言的编码如下

  • 简体中文 – GB2312
  • 繁体中文 – Big5
  • 日语 – Shift-JIS
  • 韩语 – KSC5601
示例

进入设置模式
1F 28 65 01 49 4E

使能2-byte character mode
1F 28 67 02 01

FROM Write(保存上面的配置)
1F 28 65 32

退出设置模式(执行后模块会自动重启)
1F 28 65 02 4F 55 54

字符集切换为简体中文(如果在设置模式执行且保存之后模块默认将是该语言)
1F 28 67 03 02

GB2312的“你好世界”
4F 60 59 7D 4E 16 75 4C

用户设定模式

USB和RS232的命令完全一致,另外有几个命令比较特殊需要留意一下

指令表中圆圈标注的命令绝大部分是需要进入设定模式执行的

⚠有返回数据的命令发送完成之后必须要使能流控(CTS),否则模块会一直等待造成假死

显示自定义字符

有两种方式,FROM User Font和FROM User Table,推荐使用后者,前者是覆写对应地址的字体,会影响正常字符的显示

使用FROM User Table control写入之后将Character table type修改为255再发送文字对应地址即可

(具体实现等我啥时候有空再写())

FROM User Table

首先需要准备128个15×16的字模,具体字模数据格式参考文档,在PCtoLCD2002对应配置如下

128个字模对应的地址范围是0x80-0xFF

写入字模

进入设置模式
1F 28 65 01 49 4E

写入FROM User Table(3840 bytes是需要提供的128个字模数据,按照地址顺序排列)
1F 28 65 31 02 01 <3840 bytes>

退出设置模式(执行后模块会自动重启)
1F 28 65 02 4F 55 54

使用自定义字模

指定字形,255为用户自定义字形区域
1B 74 FF

直接发送字符所在地址
<0x80-0xFF>

p.s.部分地址似乎有冲突,似乎是前32个,时间久远有点记不清了,自行尝试。

另外字形是写入到flash中的,不是映射到内存,flash寿命有限,不能频繁写入

这屏幕的文档写的依托石,翻了好几遍才看明白(ノへ ̄、)

这个屏幕折腾的还算顺利,主要还是研究引脚定义和时序浪费了不少时间

文章写的也比较匆忙,有点乱,内容不是特别全,有什么问题也欢迎交流

觉得有用的话就喂个小鱼干吧(~ ̄▽ ̄)~

8 评论

  1. 也买了几只,不过是RS232版的。从这贴中学到不少,谢谢!
    跳线附近缺失的U6是一块SP3232,用于3v/5v信号电平转换。

      • 点亮了。 把U6,SP3232拆了,跳线。如果不拆,因为SP3232是反相器,RS232信号的起始位就错了。或者将主机一端的输出也反相。拆了之后信号电平为3.3V,供电仍旧需要5V,而且供电能力最好大于2A。

  2. 点亮了,这个模块就是有个遗憾的地方,自定义字符的写入寿命是受到限制的。不然的,就能玩一些花样出来了。然后买了一个Futaba_8MD06INKM的模块,这个模块虽然显示能力没得多强,但是好在自定义字符的写入没得寿命限制,然后写了一些动画的程序在里面,还是多有意思的。

    • 嘛,主要是这个字形数据是写进flash里的,并不像其他屏幕可以写进一块专有的RAM区域里,他这个自定义字形就不是用来显示动态内容的

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注

© NEXON Games & Yostar

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理