Linux下与CashCode纸币接受器通信

2024-03-20

我已经实现了 CCNET 协议,以便通过 Linux 上的软件与 CashCode 纸币接受器进行通信。 最初,我花了很多时间试图弄清楚为什么设备不响应​​我发送的命令。使用反复试验的方法,我找到了为串行端口设置以下选项的解决方案:

stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb clocal -crtscts -ixon -ixoff ignpar -icrnl -opost -isig -icanon -iexten -echo

它正在开发机器和另外两台测试机器上运行(它们都有不同的主板)。然而,在第三台测试机(还有另一个主板)上,设备似乎不再响应。 然而,它可以在同一台机器上使用不同软件的 Windows 上运行。

“不响应”是指发送命令后 10 秒超时期间无法从串行端口读取任何内容。整个代码已经过测试并可以在另一块主板上运行。 内核正确检测到端口本身,如 dmesg 中所述:

[    1.099382] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.127531] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

dmesg 中没有关于此串行端口的警告。 关于如何调试这个问题有什么想法吗?

“stty -F /dev/ttyS0”的完整输出:

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

问题解决了。 该型号纸币接受器工作波特率19200。 将端口切换到19200即可解决问题。

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

Linux下与CashCode纸币接受器通信 的相关文章

  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • 如何以编程方式从Linux中的进程名称获取进程ID

    在我的项目中 我们使用 ACE 自适应通信环境 中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码 要求是从进程名称中获取进程 ID 由于 ACE 不支持这一点 因此我们必须使用特定于平台的宏来分离 Window
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志

随机推荐

  • 更改 MUI 文本字段的多个组件根

    根据此处的 MUI Textfield API Textfield 是以下组件之上的简单抽象 表单控件 Input 输入标签 填充输入 概述输入 Input 表单辅助文本 因此 要更改上述任何组件的 Textfield 样式 例如 notc
  • 如何为 MySQL 数据库中的所有时间戳/DATETIME 添加偏移量?

    我有一些 MySQL 数据库 其中有多个表 其中包含 除其他外 一些 DATETIME 列 我正在寻找一种方法来向整个数据库中的所有 DATETIME 列添加一定的时间 比如一年 如果数据最初写入数据库时 系统时间错误 这会很有用 或者 就
  • 在 Java 中寻找 Chromakekey 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有人知道用 Java 编写的色键库 我希望使用 Java 编辑绿屏图像的内容 以补充现有的
  • 如何将 jqgrid 值作为表单字段提交?

    我正在尝试在用户填写传统表单字段 例如用户名 电话等 的表单中使用 jqGrid 该表单包含用于行项目的 jqGrid 用户可以在其中添加 编辑 删除行 完成后提交整个表格 我让网格按我希望的方式工作 我只是无法将网格的内容作为包含表单的一
  • Numpy 直方图表示具有相同近似值的浮点数

    我有代码可以在给定范围 0 1 的情况下生成从 10 到 10 的特定值 该代码采用 10 到 10 之间的值 并根据其概率将其附加到列表中 例如 10 将在列表中放入 0 次 因为它对应于值 0 而 10 将在列表中放入 100 次 作为
  • Scrapy:根据下载图像的网址,从下载的图像中创建文件夹结构

    我有一系列定义网站结构的链接 从这些链接下载图像时 我想同时将下载的图像放置在类似于网站结构的文件夹结构中 而不仅仅是重命名它 如中所回答 Scrapy图片下载如何使用自定义文件名 https stackoverflow com quest
  • 是否可以使用 Jenkins 管道进行 Git 合并/推送

    我正在尝试使用 Jenkinsfile 创建 Jenkins 工作流程 我想要它做的就是监视 开发 分支的更改 当发生更改时 我希望它 git tag 并合并到 master 我正在使用 GitSCM Step 但它似乎唯一支持的是 git
  • Flutter Doctor CocoaPods 未安装

    When I run Flutter doctor 我尝试运行 sudo gem install cocoapods 来安装它 但仍然存在同样的问题 请注意 我正在开发通道中使用最新的 flutter 版本运行 xcode 12 有任何想法
  • 将文件添加到 git 的 stage 不执行任何操作并且无法提交

    我陷入了一种奇怪的情况 在我的一个分支中 web config 文件无法添加到舞台上 的输出 git add path to web config git status 与添加文件之前相同 Web config 似乎需要修改 并且尚未添加到
  • 无法传递给 C 代码 - 虚拟环境' aria-label='对象类型 无法传递给 C 代码 - 虚拟环境'> 对象类型 无法传递给 C 代码 - 虚拟环境

    我正在使用 Mac Anaconda 我尝试使用加密货币的 AES 然而 我面临一个奇怪的问题 我只想执行一行简单的代码 obj AES new This is a key123 AES MODE CBC This is an IV456
  • MVC 相当于 ASP.NET 按钮单击事件

    我需要创建一个与 ASP NET 中的按钮单击事件等效的页面 在我的页面上 当用户单击按钮时 我需要处理一些信息 如果发生错误 则显示错误页面 但如果成功 我需要显示成功页面 我是 MVC 的新手 我不知道如何解决这个问题 这就是我到目前为
  • C# 和箭头键

    我是 C 新手 正在现有应用程序中做一些工作 我有一个 DirectX 视口 其中包含我希望能够使用箭头键定位的组件 Currently I am overriding ProcessCmdKey and catching arrow in
  • 需要建议在 Javascript 中应用 .disabled

    我运行 Woocommerce 网站并希望禁用结帐页面上的特定输入 Woocommerce 可以按国家 地区设置运输方式 我将默认国家 地区设置为韩国 并且显示韩国的运输选项 但是 如果我选择美国 运输方式将看到根据美国的运输选项 因此 默
  • 在闪亮的仪表板中从 R 访问 javascript 对象

    SO 有很多闪亮的问题询问如何在 UI 中使用输入值 一般答案是使用updateSelect 家庭或使用renderUI 我知道基本上不可能从输入列表中访问值 input 在 UI 中 因为输入列表仅传递到服务器 因此不存在于 UI 环境中
  • 我可以在 Netlify 中通过 Create-React-App 使用构建环境变量吗?

    如何在 Netlify 中通过 Create React App 使用构建环境变量 You CAN在你的环境变量中使用create react app在 Netlify 上 但 Create React App 的所有构建限制仍然适用 默认
  • Angular 有像 extjs 那样的弹性布局吗?

    ExtJS 有一个非常有用的布局机制 称为 Flex 它的工作原理是将行或列中的所有内容相加 然后使用弹性值除以所有弹性值的总和来分配空间 这会产生如下所示的布局 红框是水平盒布局 块 E 和 F 的给定弹性值之和为 3 因此 E 为屏幕宽
  • sed 中“保持空间”和“模式空间”的概念

    我对 sed 中的两个概念感到困惑 保留空间和模式空间 有人可以帮忙解释一下吗 这是手册的一个片段 h H Copy append pattern space to hold space g G Copy append hold space
  • Python 从同一包中的文件导入 __init__.py 中的类

    我觉得我应该知道这一点 因为我已经用 Python 编程这么久了 但我一直在不断学习关于这种精美语言的新知识 我的问题 很可能是重复的 但我无法找到相同的案例 是这样的 我有这样的文件布局 websocket init py client
  • 带有 QML 的 FbxGeometryLoader

    我想将 fbx 文件导入到我的Scene3D https doc qt io qt 5 11 qml qtdatavisualization scene3d html 通过QMesh https doc qt io qt 5 11 qt3d
  • Linux下与CashCode纸币接受器通信

    我已经实现了 CCNET 协议 以便通过 Linux 上的软件与 CashCode 纸币接受器进行通信 最初 我花了很多时间试图弄清楚为什么设备不响应 我发送的命令 使用反复试验的方法 我找到了为串行端口设置以下选项的解决方案 stty F