小编Dav*_*vid的帖子

从串口接收到的数据有不正确的换行符

我编写了一个应用程序,将数据发送到 COM 端口并接收返回的数据。

发送效果很好,但接收效果不佳。多行和只读文本框中的新行字符不正确。

截屏:

在此输入图像描述

我的接收代码是:

void serialPort_DataReceived(object s, SerialDataReceivedEventArgs e)
{
    byte[] data = new byte[_serialPort.BytesToRead];
    _serialPort.Read(data, 0, data.Length);

    string str = System.Text.Encoding.UTF8.GetString(data);

    textBox3.Text = textBox3.Text + str;

    textBox3.SelectionStart = textBox3.TextLength;
    textBox3.ScrollToCaret();
}
Run Code Online (Sandbox Code Playgroud)

在打开端口之前,我将 New Line 属性设置为 \r\n:

_serialPort.NewLine = "\r\n";
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

c# serial-port

5
推荐指数
1
解决办法
1万
查看次数

如何在 C++/WinAPI 中通过网络适配器获取发送/接收的字节数

如何在 C++/WinAPI 中获取网络适配器发送/接收的字节数?

我的编程平台是Windows。

c++ windows winapi

3
推荐指数
1
解决办法
4746
查看次数

如何从资源中获取版本信息?

我在声明的资源中有版本信息:

100 VERSIONINFO
FILEVERSION 1,0,0,2
PRODUCTVERSION 1,0,0,2
FILEOS VOS_NT
FILETYPE VFT_APP
{
    BLOCK "StringFileInfo"
    {
        BLOCK "000004b0"
        {
            VALUE "FileDescription", "My application"
            VALUE "FileVersion", "1.0.0.2"
            VALUE "InternalName", "app.exe"
            VALUE "LegalCopyright", "Copyright ©  2012 by David."
            VALUE "OriginalFilename", "app.exe"
            VALUE "ProductName", "app"
            VALUE "ProductVersion", "1.0.0.2"
            VALUE "Assembly Version", "1.0.0.2"
        }
    }

    BLOCK "VarFileInfo"
    {
        VALUE "Translation", 0x0000 0x04B0
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样得到版本信息:

HRSRC hResInfo;
HGLOBAL hResData;
LPCVOID pRes;
UINT uLen;
VS_FIXEDFILEINFO *lpFfi;

hResInfo = FindResource(hInst, MAKEINTRESOURCE(100), RT_VERSION);
MessageBox(0, "FindResource", 0,0);

hResData = …
Run Code Online (Sandbox Code Playgroud)

resources winapi visual-c++

2
推荐指数
1
解决办法
5175
查看次数

标签 统计

winapi ×2

c# ×1

c++ ×1

resources ×1

serial-port ×1

visual-c++ ×1

windows ×1