- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 13

Thema: Digitalmultimeter c# problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2012
    Beiträge
    6
    Danke für die Antwort. Ich überlege aber auf USB umzusteigen, dann Hatte ich die Übertragungsprobleme nicht mehr. Kennt sich da jemand aus mit der USB-Kommunikation in C#. Und auch wie ich das mit einem USB-Fähigem Atmell µC mache?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2012
    Beiträge
    6
    Aber Vielleicht bleibe ich doch bei RS232. Hier ist mein Code. Hoffentlich weiß jemand, wie ich es verbessern könnte. Ich verwende einen 6 Byte buffer und das Data_Recive Event wird nach 5 empfangenen Bytes ausgelöst.
    Code:
    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;
    using NationalInstruments;
    using NationalInstruments.UI;
    namespace WindowsFormsApplication2
    {
        public partial class Form1 : Form
        {
            public static double Messwert;
            public static int werte = 0;
            public static double[] dataValues = new double[200];
            public Form1()
            {
                InitializeComponent();
                serialPort1.Open();
            }
            
    
    
    private delegate void SetTextDeleg(double text);
    public void serialPort1_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
    {
        double messval = messen();
        this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { messval });
            waveformGraph1.PlotY(dataValues, 0, 10, 0, 5);
    
    }
    
    
    private void si_DataReceived(double data) 
    {
        label1.Text = data.ToString();
        meter1.Value = data;
    }
    
    
    
    
    public double messen()
    {
        string mess = "";
        mess = serialPort1.ReadTo("a");
        serialPort1.DiscardInBuffer();
            try
            {
                Messwert = Convert.ToDouble(mess) / 1023 * 5.07*2.794;
                dataValues[i] = Messwert;
                i++;
            }
            catch
            {
                serialPort1.DiscardInBuffer();
            }
        return Messwert;
    }
      
    
        }
    }
    Geändert von didi34 (05.02.2012 um 13:46 Uhr)

Ähnliche Themen

  1. ATMega32 UART problem --> Problem gelöst
    Von ChristophB im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 12.03.2010, 18:45
  2. Problem mit Atmega644P Erkennung (Bascom-Versions-Problem)
    Von Rohbotiker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 11.08.2008, 18:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test