RS232串口通信 C# win7 .net Framework 3.5 sp1

2023-11-26

你好 我是 C# 串口新手。我写了一个c#程序,运行在winXP和win7上,以在机器发送数据时保留从串口接收到的数据。

using System.IO;
using System.IO.Ports;
using System.Threading;


namespace RS232RVR
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        SettingRS232();
    }

    public void SettingRS232 ()
    {
        try
        {
            SerialPort mySerialPort = new SerialPort("COM6");

            mySerialPort.BaudRate = 9600;
            mySerialPort.Parity = Parity.None;
            mySerialPort.StopBits = StopBits.One;
            mySerialPort.DataBits = 8;
            mySerialPort.Handshake = Handshake.None; //send to hardware flow control.

            mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceviedHandler);

            mySerialPort.Open();


            richTextBox1.Text = "on";

            mySerialPort.Close();
        }
        catch (Exception ex)
        {
            richTextBox1.Text = ex.Message;    
        }

    }

    private void DataReceviedHandler(
                    object sender,
                    SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        richTextBox1.Text = indata;

    }

}

}

COM6 在我的电脑中处于活动状态。但我的问题是,当 datareceived 事件有来自串行端口的数据时,它似乎不会触发。 (我已经使用一些免费软件应用程序检查了这项运动)

任何人都可以帮忙吗?

thanks


        mySerialPort.Open();
        richTextBox1.Text = "on";
        mySerialPort.Close();

这是行不通的,您将在打开串行端口几微秒后将其关闭。是的,DataReceived 事件处理程序不太可能触发。仅在关闭程序时关闭端口。

        mySerialPort.Handshake = Handshake.None

这也是一个问题,您现在需要自己控制握手信号。绝大多数串行端口设备在看到机器已启动并准备好接收之前不会发送任何内容。将 DtrEnabled 和 RtsEnabled 属性设置为 true。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RS232串口通信 C# win7 .net Framework 3.5 sp1 的相关文章

随机推荐

  • 必需:找到的变量:值

    public static int biggestArrayGap int a int n int biggestGap Math abs a 1 a 0 for int i 1 i
  • gradle 中的版本范围

    在 gradle 依赖项中指定版本范围的可能方法有哪些 我看到了一些 1 符号 但我还没有找到真正说明什么是可能的 什么是不可能的文档 此外 我不知道 Maven 范围是否也可以使用 有人可以给我一个简短的概述 以便我能够理解规则吗 Gra
  • 从 Google Photos 应用程序获取 Uri 的路径

    我有一个应用程序 允许使用外部应用程序选择照片 然后我从 uri 获取照片的路径并将其用于内部操作 当用户使用 Google Photo 选择一张照片时 如果该图片存储在本地 则下一个代码可以完美运行 但如果图片在云端 结果是光标 getS
  • 带有圆形内边缘的方形布局边框

    我正在尝试创建一个布局边框 其角部外侧为方形 内侧为圆形 我发现我需要创建一个由两种形状组成的 xml 可绘制定义 一种具有笔划宽度和角半径 另一种仅具有笔划宽度 绘图 round border xml
  • 有没有办法在 Matplotlib 图的 x 轴上显示波斯日期

    我想绘制一个dataframe其中index由组成datetime价值观基于伊朗日历 我想设置x axis标签如下 import matplotlib dates as mdates axes scatter df day index va
  • NSTimer 在滚动期间停止

    在调试我的IOS项目开发于XCode4 我初始化并运行NSTimer目的 但是 一旦我按下滚动视图 计时器就会停止 并且在我释放滚动后它会继续运行 NSTimer 是否有配置使得计时器在滚动期间不会被阻塞 提前致谢 请添加这一行并重试 NS
  • Java 中字节转换为 int

    我需要在Java代码中将2个字节 2的补码 转换为int 我该怎么做 toInt byte hb byte lb return int hb lt lt 8 int lb 0xFF 所有情况下的正确操作留给学生作为练习
  • 将 State 属性添加到 React 中的内联样式

    我有一个具有如下内联样式的反应元素 缩短版本 div div 我想用我所在州的属性替换宽度 尽管我不太确定该怎么做 I tried div div 这可能吗 你可以这样做 style width this st
  • Android - 在LinearLayout和RelativeLayout中对视图顶部边距/底部边距/等进行动画处理

    我正在尝试创建一个从底部向上滑动的菜单 首先 菜单视图仅在屏幕底部可见 然后单击它会使其向上滑动 我尝试使用TranslateAnimation 但是虽然像素发生了移动 但菜单的点击区域仍处于与之前相同的位置 所以我认为如果我可以在动画完成
  • 保留数据迭代器的向量

    我有一个功能 void get good items const std vector
  • Spring SecurityContext 在错误页面上返回 null 身份验证

    我正在尝试为 403 访问被拒绝 和 500 内部服务器错误 等错误编写自定义错误页面 它们将从 Velocity 模板呈现 并使用用户的区域设置翻译所有消息 身份验证和区域设置解析在应用程序中运行良好 我在 web xml 中将位置设置为
  • Python 链式属性访问中的无传播[重复]

    这个问题在这里已经有答案了 有没有空传播算子 空感知成员访问 运算符 在Python中 所以我可以写类似的东西 var object children grandchildren property 如 C VB NET 和 TypeScri
  • 为什么 ClassInitialize 修饰方法会使我的所有测试失败?

    我从MSDN了解到 ClassInitialize是标记一个方法 该方法将在所有测试运行之前为所有测试执行一次设置代码 当我在下面的简化装置中包含这样的方法时 所有测试都会失败 我一注释掉 他们又通过了 TestClass public c
  • 获取 SortedList 中 2 个键之间的所有键的最快方法是什么?

    给定一个人口稠密的SortedList
  • 如何在Java中确定给定日期的前一天日期?

    我假设 Java 有一些内置的方法可以做到这一点 给定一个日期 如何确定该日期之前一天的日期 例如 假设给我的是 3 1 2009 上一个日期是 2009 年 2 月 28 日 如果给我的是 3 1 2008 那么之前的日期就是 2 29
  • 在 Swift 的条件语句中将可选值分配给新变量的原因

    我正在浏览 swift 文档 在可选部分中 它讨论了使用问号 表示可能为零的变量 这可以在 if 语句中使用来检查 nil 但在文档中 他们将可选值分配给条件中的新变量 是否有一个原因 例如 它出现在the docs与此类似 Declare
  • 使用循环对数据框进行子集化

    我有一个如下所示的数据框 index ID date Amount 2 1001 2010 06 08 0 21 1001 2010 10 08 10 6 1002 2010 08 16 30 5 1002 2010 11 25 20 9
  • pg.rb 分段错误 [Mojave 升级]

    pg rb 中的分段错误 56 版本 导轨 5 2 0 红宝石 2 4 4 PG宝石 0 20 0 升级到 Mac OS mojave 后 我的本地主机服务器遇到了问题 服务器本身启动正常 但是当尝试通过网络浏览器访问它时 它崩溃了 并且出
  • 行动代表。如何获取调用该方法的实例

    我有一个操作 我想知道如何访问调用该方法的实例 Exemple this FindInstance gt this InstanceOfAClass Method this FindInstance gt this InstanceOfAC
  • RS232串口通信 C# win7 .net Framework 3.5 sp1

    你好 我是 C 串口新手 我写了一个c 程序 运行在winXP和win7上 以在机器发送数据时保留从串口接收到的数据 using System IO using System IO Ports using System Threading