- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 C# 代码从 Mettler Toledo 秤设备读取数据。
这是我的完整代码:
private SerialPort port = new SerialPort("COM1", 4800, Parity.None, 8, StopBits.One);
public Inwardsfrm()
{
InitializeComponent();
port.DtrEnable = true;
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
}
private void Inwardsfrm_Load(object sender, EventArgs e)
{
if (port.IsOpen == false)
try
{
port.Open();
}
catch (Exception oex)
{
MessageBox.Show(oex.ToString());
}
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(DoUpdate));
}
private void DoUpdate(object s, EventArgs e)
{
Thread.Sleep(30);
string data = port.ReadExisting() + port.ReadExisting();
try
{
richTextBox1.Text = data.Trim().Remove(0, 3);
}
catch (Exception f)
{
MessageBox.Show(f.Message.ToString());
}
}
它工作正常并在名为 richTextBox1
的标签中显示结果,但有时会出现以下错误:
Index and count must refers to location with the string Parameter Name :Count
怎么了?我该如何解决?
最佳答案
看来问题出在 Remove() 方法上,Trim() 后数据中还剩不到 3 个字符。
尝试:
private void DoUpdate(object s, EventArgs e)
{
Thread.Sleep(30);
string data = port.ReadExisting() + port.ReadExisting();
if(data.Trim().Count() < 3)
MessageBox.Show("data = " + data);
else
try
{
richTextBox1.Text = data.Trim().Remove(0, 3);
}
catch (Exception f)
{
MessageBox.Show(f.Message.ToString());
}
}
这应该有助于弄清楚。
关于c# - 使用 C# 从 Mettler Toledo 秤设备读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6569882/
我正在使用 C# 代码从 Mettler Toledo 秤设备读取数据。 这是我的完整代码: private SerialPort port = new SerialPort("COM1", 4800
我在使用 C# 从 Mettler Toledo (IND560) 秤设备接收数据时遇到了一些问题。 当我向设备发送“去皮重”命令 (T) 时,它工作正常但没有任何响应。 BytesToRead 始终
我正在使用 Mike O Brien's HID Library连接到数字秤,设备成功打开,然后完美显示设备附加和删除消息。但最初只运行 OnReport 大约 20 次 Inital 在 OnRep
我正在尝试使用 C# 的 streamReader 和 streamWriter 类从 IND560 捕获净重。似乎建立了连接,但无论我发送什么命令,我都会收到回复:83 命令无法识别。我在 IND5
我是一名优秀的程序员,十分优秀!