IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

comment reset buffer


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut comment reset buffer
    Bonsoir
    Je voudrais savoir comment je peux remettre a zero le buffer de port serie apres avoir lu le data (reset buffer) ?

    Merci de m'aider.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Peux-tu nous montrer un peu de ton code, notamment où celui-ci pose problème ?
    Edit : sinon j'ai vu ça sur msdn

  3. #3
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
     
    namespace SimpleSerial
    {
        public partial class Form1 : Form
        {
            // Add this variable
     
            string RxString;  
     
     
     
            public Form1()
            {
                InitializeComponent();
     
            }
     
            private void buttonStart_Click(object sender, EventArgs e)
            {
                serialPort1.PortName = "COM2";
                serialPort1.BaudRate = 9600;
                label1.Text = "Control Temperature : OK";
                serialPort1.Open();
                if (serialPort1.IsOpen)
                {
                    buttonStart.Enabled = false;
                    buttonStop.Enabled = true;
                    textBox1.ReadOnly = false;
                    textBox2.ReadOnly = false;
                    textBox3.ReadOnly = false;
                    textBox4.ReadOnly = false;
                }
            }
     
            private void buttonStop_Click(object sender, EventArgs e)
            {
                if (serialPort1.IsOpen)
                {
                    serialPort1.Close();
                    buttonStart.Enabled = true;
                    buttonStop.Enabled = false;
                    textBox1.ReadOnly = true;
                    textBox2.ReadOnly = true;
                    textBox3.ReadOnly = true;
                    textBox4.ReadOnly = true;
                    led1.Value = false;
                    led2.Value = false;
                    led3.Value = false;
                }
     
            }
     
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (serialPort1.IsOpen) serialPort1.Close();
            }
     
            public void DiscardOutBuffer() { }
     
     
           private void DisplayText(object sender, EventArgs e)
            {
     
             textBox1.AppendText(RxString);
     
             long x = Convert.ToInt64(RxString);
             serialPort1.DiscardInBuffer();
     
     
         thermometer1.Value = Convert.ToInt64(x);
            }
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)  
     
     {  
     
     
         RxString = serialPort1.ReadExisting();  
     
        this.Invoke(new EventHandler(DisplayText));
     
     
     } 
     
     
     
     
            private void Form1_Load(object sender, EventArgs e)
            {
     
     
     
            }
     
            private void textBox2_TextChanged(object sender, EventArgs e)
            {
     
            }
     
     
        }
    }

  4. #4
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    bonjour,
    le pb quand j'envoie des string numerique de 1 a 500 par porte serie mon code convert juste la premiere string numerique puis il plante lorsqu'il recevois la deuxieme string

Discussions similaires

  1. reset buffer pour driver ethernet
    Par jmchoub dans le forum Windows
    Réponses: 0
    Dernier message: 24/03/2009, 11h48
  2. Réponses: 17
    Dernier message: 02/03/2006, 10h53
  3. Comment tester un point du depth buffer.
    Par Pyou dans le forum DirectX
    Réponses: 2
    Dernier message: 02/10/2005, 21h17
  4. [vb.net] Comment vider un buffer ?
    Par mdc dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2003, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo