- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 .net 中的 SerialPort 类使我的 C# 应用程序通过 rs232 与数字秤进行通信。不幸的是,我无法从秤上得到任何反馈。
这是一个 TSCALE TSQSP 秤,显然它使用 CAS 通信协议(protocol)。根据我对 CAS 协议(protocol)的理解,我需要发送“ENQ”等待“ACK”,然后发送“DC1”以获取信息,但发送“ENQ”后我没有收到任何回复。这是我的代码。有人有使用相同通信协议(protocol)的秤的经验吗?
非常感谢您的帮助
public partial class Form1 : Form
{
private SerialPort port = new SerialPort("COM6", 4800, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
}
private void button1_Click(object sender, EventArgs e)
{
port.Write("ENQ");
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.textBox1.Text = port.ReadExisting();
}
}
感谢大家的帮助,所有的回答都很有帮助,我终于成功了。首先,我发现我没有正确设置秤,而且你是对的,我应该发送 05H。现在一切正常,谢谢。
最佳答案
我已经编写了很多权重,通常如果您甚至没有在 ENQ 上得到响应,那是因为您没有正确设置 SerialPort。 100% 确保波特率、数据位、停止位和奇偶校验设置正确。
我要做的是下载 LookRS232 .它是一个通过 COM 端口进行通信的程序。安装完成后,用我们的设置打开COM口,然后将ENQ直接写入COM口即可。测试大量设置以使其首先在此处工作更容易。然后,当您让它工作时,在您的程序中使用完全相同的设置。
编辑——从 HANS PASSANT 那里添加了一些重要的要点——最重要的是 ENQ 是 ASCII 值 5,而不是字符串
port.Write("ENQ");
ENQ、ACK和DC1是控制码,不是字符串。使用 ASCII 表来了解代码。修复:
port.Write(5);
您还应该打开硬件握手信号,许多设备使用它来确保机器已通电并准备好接收数据。所以他们知道他们收到的是真实数据而不是噪音。修复:
port.Open();
port.DtrEnable = true;
port.RtsEnable = true;
如果仍然遇到问题,用另一个程序(如 HyperTerminal 或 Putty)测试连接总是一个好主意。使用键盘上的 Ctrl 键生成控制代码。 ENQ为Ctrl+E,DC1为Ctrl+Q。
关于c# - 如何通过 rs232 与秤通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188324/
我一直在寻找一种正确的方法来使用内部负载均衡器来改造我的内部虚拟机规模集,该负载均衡器不会通过公共(public) IP 暴露在互联网上。但是,节点应该能够访问互联网来下载 github 中的一些包。
我一直在寻找一种正确的方法来使用内部负载均衡器来改造我的内部虚拟机规模集,该负载均衡器不会通过公共(public) IP 暴露在互联网上。但是,节点应该能够访问互联网来下载 github 中的一些包。
我正在使用 D3 编写一些图表组件。其中一些组件是有意通用的,因此它们可以在各种场景中重复使用。 在一个函数中,我收到一个比例对象作为参数。我想根据这是线性尺度、时间尺度还是顺序尺度采取略有不同的操作
我想看看因子值在哪里转换为数字值。我试图通过简单地添加 print 来实现这一点。到处都有说法... geom_tile2 ggplot2:::ggplot_build.ggplot functio
我有一个通过 USB 连接到我的 Ubuntu 笔记本电脑的数字秤,我想从中读取测量值。串行协议(protocol)非常简单(9600,8N1,ttyUSB0),我能够通过使用终端的 putty (V
我是一名优秀的程序员,十分优秀!