如何通过 COM1 向我的收据打印机发送 DOS 命令? [关闭]

2023-12-23

如何通过 COM1 向我的收据打印机发送 DOS 命令?

我目前正在开发收银机软件,但在使用收据打印机时遇到了问题。我需要能够通过 DOS 向打印机发送十六进制命令。

到目前为止,我已经尝试执行以下操作。

打开命令 输入复制con:com1 输入一个十六进制数 按 Ctrl + Z 按回车键

根据我读到的内容,应该将十六进制数字作为命令发送到打印机。但它只是将数字作为字符串发送并打印出文本。

我使用的打印机的一些信息: TPG A794 收据打印机。 打印机手册可在此处找到:http://www.cognitivetpg.com/downloads/A794%20Spec%20Sheet.pdf http://www.cognitivetpg.com/downloads/A794%20Spec%20Sheet.pdf

希望有人可以帮助我,因为我已经尝试了一切,但似乎没有任何效果。


不要输入十六进制代码。您需要十进制的 ASCII 代码。 例如:要写0xF,必须将其转成十进制(15) 后copy con: com1输入三位数的十进制值 (015) 时按住“ALT”(按住不放),然后松开“ALT”。 如果是具有多个十六进制数的命令,则继续使用下一个值。 完成后,按 Ctrl-Z。

如果您将“命令”写入文本文件,则可能更容易使用,然后您可以将它们复制到 com1: 例如:

copy linefeed com1:

(我没有要测试的串行设备,但它应该可以工作)

我尝试过

copy con bell.txt

然后我进入了007(= 0x07,这是一个响铃),Ctrl-Z。这给出了一个长度 = 1 字节的文本文件

Type bell.txt

然后会发出蜂鸣声。

EDIT“1B”是所谓的“Escape-Sequence”(多字节命令)的代码,“70”是命令本身,它需要三个参数(n、p1、p2)。所以完整的Sequence有5个字节长。您必须将“n”、“p1”和“p2”替换为正确的数字。您可以在串行设备的手册中找到这些内容(“1B”是所谓的“转义序列”(多字节命令)的代码,“70”是命令本身,正如您所描述的那样,它需要三个参数(n,p1,p2)。所以完整的序列是5个字节长。你必须用正确的数字替换“n”,“p1”和“p2”。你可以在你的序列号手册中找到这些参数设备 (http://www.cognitivetpg.com/downloads/189-9200250C.pdf http://www.cognitivetpg.com/downloads/189-9200250C.pdf),第69页。P1和P2似乎描述了时间,抽屉需要打开/关闭)N描述了你与哪个抽屉交谈。

EDIT2每个命令创建一个文件。例如。 “open1.bin”“close1.bin”等。按照我的第一个答案中的描述创建它们。您应该首先尝试使用“简单”命令(单字节命令)来验证这是否可以正常工作。要执行命令,请使用以下命令将它们发送到 com 1copy open1.bin com1:。对于多字节命令创建它们copy con: file.txt按住“alt”的同时输入第一个值,松开“alt”,再次按下并按住第二个值,依此类推。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 COM1 向我的收据打印机发送 DOS 命令? [关闭] 的相关文章

  • 如何将十六进制颜色字符串解析为整数

    我正在 Robolectric 中编写一些代码 即IntegerResourceLoader 下面的方法抛出一个RuntimeException when rawValue是诸如0xFFFF0000 Override public Obje
  • 从 UNIX 命令行向串行端口发送字节?

    我想使用命令行将字节流发送到串行端口 这可能吗 我的串口位于 dev cu usbserial A700dYoR在我的 Mac 上 例如 如果我想将整数 50 或字符串 data 发送到该串行端口 我该怎么做 我对 UNIX 的了解非常有限
  • GSM 调制解调器 USSD 检查余额时出现 CME 错误 100

    我正在尝试使用华为 E1550 3G 调制解调器通过 USSD 检查 SIM 卡余额 但当我总是发送 AT CUSD 1 100 15 I Get CME Error 100 是的 我的调制解调器支持 USSD 因为我有一个调制解调器的仪表
  • Python 3 print() 到变量

    在Python 3中 您可以使用 print 函数将数据写入文件 例如print my data file my open file 这很好 而且非常酷 但你可以吗print到 字符串 变量 如果是这样 怎么办 在我的特定用例中 我试图避免
  • 按名称显示进程的命令行

    我在cmd中使用以下命令来获取进程命令行 它提供了所有流程的详细信息 WMIC OUTPUT C ProcessList txt PROCESS get Caption Commandline Processid 我想在记事本中按名称获取特
  • 当用户按下打印时运行脚本,并且在脚本结束之前不开始假脱机(linux,cups)

    我需要做的是结合用户按下打印来执行 python 程序 脚本 并且在该程序退出之前不要让打印作业假脱机 原因是打印驱动程序不是开源的 我需要更改用户设置 在本例中是部门 ID 和密码 通常是每个用户 但因为这是一个信息亭 具有相同帐户的不同
  • MD 和 MKDIR 批处理命令有什么区别?

    这两个命令都会创建文件夹 我read http www computerhope com mdhlp htmMKDIR 甚至可以创建子文件夹 这只是区别吗 为什么有两个命令做同样的事情 我应该使用哪一个 除了 npocmaka 的answe
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K
  • 如何使用ilMerge将dll合并到exe文件中? [复制]

    这个问题在这里已经有答案了 可能的重复 将 dll 与 exe 合并 https stackoverflow com questions 14551311 merging dll with exe 好的 所以 我将 ilmerge 的所有文
  • 在重定向文件 (>output.txt) 中显示带重音符号的字符

    example mode con cp gt tmp output tmp notepad tmp output tmp show Statut du p riph rique CON Page de codes 850 代替 Statut
  • 如何从 .Net 打印对话框中删除打印机?

    我正在开发一个 Winforms 应用程序 它允许用户打印一些不同的 Reporting Services 报告 不幸的是 如果用户尝试使用 Adob e PDF 打印机打印为 PDF 则会崩溃 我们无法解决此问题 因此作为解决方案 我们希
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • 如何通过Java swing执行cmd命令

    我有一个文件要打印 我想通过 java swing 向他发送自定义水印 我有 2 个文件 NewJFrame java 和 Test java package test import java io IOException import j
  • 当 MSB 位等于 0 时如何以十六进制格式打印它们

    我需要使用打印变量HEX格式 问题是当我的变量很小时 MSB 等于 0 因此不会打印它们 ex uint16 t var 10 0x000A h gt 我需要打印 000A 但无论我做什么它总是打印 A 我怎样才能让它发挥作用 您可以添加前
  • 无法在 cmd 中通过管道传递 cmdlet 对象

    我正在使用这个 powershell 命令来获取特定的用户配置文件 获取 WmiObject Class Win32 UserProfile Where Object LocalPath eq C Users Pela 但是当我通过调用 p
  • 使用命令启动 Tmux 并指定配置文件

    我正在研究交互式的小脚本 我试图启动 tmux 既指定命令 以便当进程退出时 tmux 会话退出 并使用配置文件 但似乎这是不可能的 tmux new session d s myapp python myapp py f myapp tm
  • 在 Perl 中如何打印到变量而不是文件?

    如何使用 Perl 打印到变量 我已经在一个程序上工作了一段时间 它记录了它的迭代的以非常详细的方式取得进展 print loghandle some message 但是 我还想有选择地将一些消息打印到不同的文件中 当然 我可以在代码中添
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • 何时为 WPF/MVVM 使用事件和命令?

    我正在练习如何使用 MVVM 模式编写 WPF 应用程序 到目前为止 我还没有在我的代码中使用命令 在我的视图模型中我实现INotifyPropertyChanged并使用 事件PropertyChangedEventHandler Pro
  • 打印 Java 数组的最简单方法是什么?

    在 Java 中 数组不会覆盖toString 所以如果你尝试直接打印一个 你会得到className 的十六进制hashCode https en wikipedia org wiki Java hashCode 数组的定义为Object

随机推荐