日期:2014-05-17  浏览次数:20908 次

c# 串口数据求大神
最近在做医疗传感器的端口数据读取,希望边读边存到TXT中。串口数据一直在进
这是部分代码

        private void button4_Click(object sender, EventArgs e)
        {   //接收数据
            byte[] data = new byte[port1.BytesToRead];
            port1.Read(data, 0, data.Length);
            string ss;
            ss = byteToHexStr(data);   //十六进制显示      
            Write(ss);
         }
 为什么只存了部分数据,没有一直储存。  难道只是read读取的缓冲区 ?  缓冲区满了就读不了了吗?  

            

------解决方案--------------------
”串口数据一直在进“  

你这样写代码肯定只能读到一部分了

参考以下代码吧


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace 读取串口数据
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        System.IO.Ports.SerialPort comport = new System.IO.Ports.SerialPort();
        private void Form1_Load(object sender, EventArgs e)
        {
            comport.BaudRate = 9600;
            comport.DataBits = 8;