gpt4 book ai didi

linux - 在 Linux 中与 CashCode 账单接受器通信

转载 作者:太空狗 更新时间:2023-10-29 11:18:56 24 4
gpt4 key购买 nike

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

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

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

在“不响应”下,我的意思是在发送命令后的 10 秒超时期间无法从串口读取任何内容。整个代码已经过测试,可以在另一 block 主板上运行。如 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 即可解决问题。

关于linux - 在 Linux 中与 CashCode 账单接受器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com