gpt4 book ai didi

linux - 为 UART 串​​口通信启用 ACK/NAK 握手

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:16 30 4
gpt4 key购买 nike

在我的 Ubuntu 10.10 桌面上通过串行端口连接了一个带有 UART 公头接口(interface)的条码阅读器。从专有的自述文档中,我了解到我必须启用 ACK/NAK 握手才能从设备获取我发送的命令的 ACK 或 NAK。 Linux环境下使用C串口编程的,不知道如何开启。

有人可以解释一下吗?

更新:

执行以下操作以启用软件握手 -

system ("stty ixon -ixoff -F /dev/tty");<br/>
bzero (shcmd, 64);<br/>
sprintf (shcmd, "stty ixon -ixoff -F %s", UART_DEVICE);<br/>
system (shcmd);<br/>

设置速度 -

system("stty speed 9600");<br/>
bzero (shcmd, 64);<br/>
sprintf (shcmd, "stty speed 9600 -F %s", UART_DEVICE);<br/>
system (shcmd);<br/>

写了一个命令 -

unsigned char req_rev[6] = {0x05,0xA3,0x04,0x00,0xFF,0x55};<br/>
n = write(fd, req_rev, 6);<br/>

从设备读取 -

int n = read(fd, result, 254);<br/>

但每次阅读时我都得到“EGAIN”。知道我为什么会这样吗?

最佳答案

ACK/NACK 不存在。存在的是 XON/XOFF。从这里开始:

  • 文档对 XON/XOFF 使用 ACK/NACK,您的问题是“如何在我的串口上设置 XON/XOFF”。

  • 文档是正确的,您应该做的第一件事是通过发送适当的命令在您的设备中启用 ACK/NACK 机制。要获得帮助,您需要浏览文档或提供更多信息。

关于linux - 为 UART 串​​口通信启用 ACK/NAK 握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9192169/

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