- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 52

Thema: Beispiel Anwendung C# Zugriff auf SerialPort

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    shedepe
    Gast
    Ohh, ja, klar ein byte geht nur von 0 bis 255. Also deklarier die variable temp statt als byte als int und lass bei serialPort1.ReadByte() den cast nach byte weg. Dann sollte die Warnung nicht mehr da sein.

    Damit das ganze allerdings halbwegs erfolg haben kann, würde ich dich bitten dir echt noch mal paar Grundlagen anzuschauen. Das Datenverarbeiten vom SerialPort (der in C# ehh etwas zickig ist) gehört nicht wirklich zu den Einstiegsprogrammen. Z.B. schau dir an was eine globale Variable ist und wie man einen typ in einen anderen Castet.

    Zum Casten mit der Startbedinung wird dir das hier weiterhelfen:
    Angenommen '#' ist die Startbedingung dann kannst du schreiben:

    if(temp == (byte)'#')

    Das direkte ausgeben auf die richTextBox1 sollte sowie so nicht funktionieren, da du einen Fehler aufgrund eines Threadübergreifendenvorgangs bekommen solltest.

  2. #2
    shedepe
    Gast
    So da viel Fragen kamen die sich eigentlich um die selben Kernfragen kamen wollte ich diese noch mal zusammenfassen und auch an dieser Stelle hier auf das Galileo Openbook für C# verweisen, das vollkommen kostenlos und legal im Web erhältlich ist:
    http://openbook.galileocomputing.de/csharp/

    Nun zu den Hauptfragen:

    Wie konvertiere ich den Typ integer (int) in den Typ byte oder in den Typ char?

    Entweder mit einem direkten Cast (der in diesem Fall aufjedenfall funktioniert)
    oder mit der Klasse Convert
    BeispielCode:
    Code:
    int MeinInteger = 100;
    byte MeinByte;
    char MeinChar;
    
    //Den int in byte konvertieren
    MeinByte = (byte)MeinInteger;
    //oder
    MeinByte = Convert.ToByte(MeinInteger);
    
    //Den int in einen char konvertieren
    MeinChar = (char)MeinInteger;
    //oder
    MeinChar = Convert.ToChar(MeinInteger);
    Wenn man bei einen Integer die Methode .ToString() aufruft bekommt man die Zahl als Zeichenkette zurück
    Bsp:
    int EineZahl = 120;
    string EineZeichenkette = EineZahl.ToString();
    //In eine Zeichenkette stehen nun die drei Ziffern 1,2 und 0 drin (Das selbe wie: "120");


    Was ist eine globale Variable?
    In jeder Klasse haben wir verschiedene Methoden. Z.B. Methoden die aufgerufen werden wenn auf einen Button geklickt wurde.
    Nun kann man in einer Methode Variablen definieren auf die man allerdings nicht aus anderen Methoden zugreifen kann.
    Beispiel:
    Ich habe eine Variable in der Methode die aufgerufen wird wenn auf den Button1 geklickt wird. Aus der Methode die aufgerufen wird wenn eine zweiter Button geklickt wird kann man nicht darauf zugreifen.
    Nun gibt es allerdings den Fall, dass auf Variablen aus jeder Methode einer Klasse zugreifen will (Z.B. um einen Status zu speichern), dazu gibt es globale Variablen:

    Beispiel Code:
    Code:
    //Dieser Code steht innerhalb einer Klasse
    
    //Nun eine Globale Variable
    int MeinGlobalerInt = 10;
    
    public void Methode1()
    {
    //Eine lokale Variable
    int MeinLokalerInt = 0;
    
    //Auf die Globale Variable kann ich auch hier zugreifen
    MeinGlobalerInt = 15;
    
    }
    public void Methode2()
    {
    //Auch hier kann ich auf die Globale Variable zugreifen:
    MeinGlobalerInt = 99;
    
    //Auf die Variable aus Methode1 "MeinLokalerInt" kann ich jedoch nicht zugreifen
    MeinLokalerInt = 10; //Gibt Fehlermeldung
    
    }
    Ich erhalte die Fehlermeldung "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement "..." erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."


    Hierzu möchte ich nur auf den folgenden Link verweisen:
    http://www.mycsharp.de/wbb2/thread.php?threadid=33113
    Geändert von shedepe (27.05.2013 um 10:52 Uhr)

  3. #3
    shedepe
    Gast
    Hallo ich hab die Komponente mal etwas erweitert mit Multithreading und Pipes and Filter Architektur bei der der Bytedatenstrom in Datenpaket Objekte zerlegt wird.
    https://www.roboternetz.de/community...pes-and-Filter

Ähnliche Themen

  1. SerialPort & Visual Studio 2008
    Von fat tony im Forum Software, Algorithmen und KI
    Antworten: 31
    Letzter Beitrag: 09.01.2012, 14:26
  2. Warum bremst SerialPort mein Programm aus?
    Von exaware im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 12
    Letzter Beitrag: 29.01.2010, 22:27
  3. Von String to Hex SerialPort
    Von !*sascha*! im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 04.03.2009, 16:52
  4. Einzelne Leitungen des Serialport steuern
    Von wollez im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 18.02.2005, 20:06
  5. Welche Programmiersprache für SerialPort und Multimedia?
    Von tfranz im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 31.08.2004, 13:25

Stichworte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad