如何确定电动打字机的串行协议?一些电动打字机的背面有一个串行端口,这种形状如今并不常见。我打算将打字机与Arduino接口并将其用作打印机。

我如何确定诸如波特率,引脚排列和电压之类的信息。我已经摔坏了一台打字机,试图找出协议,我找不到打字机的用户手册,而我发现的所有其他指南都涉及修改电路板以及将电线连接到按键。我无法找出带有串行端口的打字机的工作原理。

这是串行端口的图片,它是什么类型的?



评论

不确定它的作用如何,但这似乎是DIN 45326连接器。

您是否在搜索为此端口创建的原始应用程序?如果您撤销此应用程序,则应该很容易撤销该协议。

如果您的打字机已经坏了,那么我想您可以打开它,查看连接到该端口的内容以确定连接了哪个接口IC以及使用了哪些引脚(我认为根本不需要使用所有的DIN引脚)

打字机上端口的作用是什么?要将机器用作电传打印机?如果是这样,我会以为只是找到RX行并将ASCII码发送到其中的一种情况。可能还涉及一些控制代码,Teleprinter的维基百科页面上有一些有关这些信息。

#1 楼

正如Jason Geffner所说,它是一种DIN 45326连接器。
据我所知,它们通常在音频中使用,但这是串行时使用的引脚。

下一步将使用示波器确定波特率(以及电压)。示波器软件通常具有一些内置工具,可以自动确定波特率。如果不是,则简单地将1除以波浪周期。例如。找到水平距离最短的两个峰并测量该时间以获得周期。

如果没有示波器,则必须对其进行蛮力测试。我将从尝试最常见的经验开始:


9600 / 115200-8-N-1(9600或115200波特,8个数据位,无奇偶校验, 1个停止位),没有流量控制。



上面是当今最常见的情况,但我不知道过去的情况。

评论


仅供参考,昨晚我发现DIN 45326连接器有5种左右不同的引脚配置,因此,只要在网上发现任何东西,都可以撒些盐。

–詹森·格夫纳(Jason Geffner)
13-10-21在13:47

好点,我没有走那么远。最好的方法可能是@ n3vermind所说的。将引脚追溯到接口IC,并在数据手册中查找引脚的功能。另一方面,我可能会先采用惰性方法,然后开始使用示波器进行探测。如果我得到的数据不真实,我将开始确认我在寻找正确的引脚。两种方法都可以。

– ixje
13-10-21在17:56

#2 楼

您可能要执行自动波特率检测

github上有几个实现这些目的的项目,例如atmega8的BAUD RATE RS232 DETECTOR Example

您可能还想使用使用Arduino的RS232enum尝试枚举所有串行线(RX / TX)。

评论


有一个非常简单的python脚本可以确定波特率,=> code.google.com/p/baudrate可以很容易地循环切换各种波特率,但是我不认为您可以调整8N1设置:/

– ipatch
2014年3月6日23:03