- 12V Akku mit 280 Ah bauen    Werbung      
Ergebnis 1 bis 7 von 7

Thema: VS 2010 und Serial Port

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2012
    Beiträge
    10
    Anbei mein Versuch Daten zu senden, zu empfangen und in einer Labelbox anzeigen zu lassen.

    Hab die Warnmeldungen:

    Der Puffer darf nicht NULL sein.

    Ne kleine Hilfe wäre nett. Vielen Dank schon mal für die Mühe.
    ------------------------------------------------------------------------

    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.Diagnostics;

    namespace SerialPort
    {
    public partial class Form1 : Form
    {
    string pp;
    char [] Buffer;

    private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
    Form3 form = new Form3();
    form.Show(); // wird beim Eingang von seriellen Daten aufgerufen
    }

    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

    try
    {

    serialPort1.Open();

    }
    catch (Exception)
    {
    Form2 form = new Form2();
    form.Show();//Ausführen wenn Port nicht geöffnet werden kann

    }
    serialPort1_DataReceived(sender, e);
    }

    private void serialPort1_DataReceived(object sender, EventArgs e)
    {

    String Send_Text = "Das ist ein Test";
    // serialPort1.Write(Send_Text);
    // throw new NotImplement
    // serialPort1.Read(Buffer, 0, serialPort1.BytesToRead);
    serialPort1.Read(Buffer,0, Bild  ; // -------- hier erscheint die Fehlermeldung : Der Puffer darf nicht NULL sein.-----------------
    // int z= serialPort1.ReadChar();
    Form3 form = new Form3();
    form.Show();

    // pp = serialPort1.ReadLine(); // wird beim Eingang von seriellen Daten aufgerufen

    //textBox1.Tag = pp;



    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    textBox1.Tag = pp;
    }



    }
    }

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    371
    Hallo Eik,

    ich glaube Du musst Dich unbedingt weiter in die Programmierung einarbeiten, zumindest würde ich das so interpretieren wenn ich Deine bisherigen Programmzeilen so anschaue. Die anderen Inhalte von Windows Form sehe ich llerdings nicht.
    Warum arbeitest Du mit so vielen Fenstern?
    Um z.B. die Exception zu bedienen wäre dies meiner Ansicht nach sinnvoller, allerdings kenne ich Deine Hintergründe nicht:

    MessageBox.Show("Fehler beim öffnen", "Schnittstelle", MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

    Du kannst auch nicht einfach eine Anzahl Bytes aus dem seriellen Buffer holen ohne zu prüfen ob diese überhaupt in ausreichender „Menge“ vorhanden sind.

    Bist Du sicher, dass Du genau das mit Deiner TextBox machen willst was Du da eingegeben hast… Bild  
    Schaue Dir nochmal die Hilfe dazu an…

    Aber lassen wir das jetzt mal, Du wirst Dich schon Stück für Stück durchbeißen,… zu Deiner eigentlichen Frage:

    Definiere einfach eine Anzahl Bytes für Deinen Buffer, also statt:

    char[] Buffer;

    so:

    char[] Buffer = new char[250];
    //z.B. Buffergröße 250 Byte


    Gruß André

  3. #3
    shedepe
    Gast
    Hey genau dafür hab ich mal ein recht ausführliches Beispiel geschrieben:
    https://www.roboternetz.de/community...ght=Serialport
    Da wird auch genau drin beschrieben wie man die Daten sich in WinForms anzeigen lassen kann und worauf man achten muss. Auf der letzten Seite sind noch mal häufig auftretende Probleme zusammengefasst.

    Ps. Was das mit dem Buffer angeht würde ich lieber eine System.Collections.Concurrent.ConcurrentQueue<T> verwenden.

Ähnliche Themen

  1. Problem mit Serial Port (empfang)
    Von Tredory im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 07.03.2009, 17:23
  2. Virtual Serial Port
    Von varius im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 10.12.2008, 10:02
  3. Serial COM PORT am PC finden
    Von Hucky im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 5
    Letzter Beitrag: 17.12.2007, 19:01
  4. serial port über pascal
    Von pascal01 im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 13.06.2005, 06:54
  5. Linux Serial Port Problem
    Von PistolPete im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 7
    Letzter Beitrag: 09.01.2005, 13:27

Stichworte

Berechtigungen

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

    Werbung      LiFePO4 Speicher Test