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 :

je recois des informations à partir d'un PIC


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 17
    Points : 0
    Points
    0
    Par défaut je recois des informations à partir d'un PIC
    Bonjour
    Je recois des informations à partir d'un PIC (la distance et la vitesse d'un navire) par le port série et je veux aficher ces information dans des zones text de windows forme C#. Comment afficher la distance dans la zone de la distance et la vitesse dans la zone de la vitesse au méme temps et merci infiniment.

    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
    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 WindowsFormsApplication100
    {
        public partial class Form1 : Form
        {
            SerialPort SerialPort1 = new SerialPort("COM1", 9600);
            /*configuring the serial port
                   serialPort1.PortName = "COM1";
                   serialPort1.BaudRate = 9600;
                   serialPort1.DataBits = 8;
                   serialPort1.Parity = Parity.None;
                   serialPort1.StopBits = StopBits.One;*/
     
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Start_Click(object sender, EventArgs e)
            {   //opening the serial port
                serialPort1.Open();
     
                do
                {
     
                    //read serial port and displayed the data in text box
                    Distancewest.Text = SerialPort1.ReadLine();
                    Distanceeast.Text = SerialPort1.ReadLine();
     
                } while (Distancewest.Text != "");
     
                //close the port
                serialPort1.Close();
                //clear display
                Distancewest.Clear();
            }
     
            private void Stop_Click(object sender, EventArgs e)
            {
                Distancewest.Clear();
                MessageBox.Show("finish");
     
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
     
            }
     
     
     
     
     
     
     
     
        }
    }

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Faut récupérer les valeurs de manière asynchrones (Via Rx Framework par exemple).
    Puis je ferais un databinding des textboxes sur une propriété qui contient les valeurs distance et vitesse. Comme ça le texte se met à jour automatiquement.

    J'ai plus fait de Winforms depuis longtemps, peut-être que WPF est plus approprié car plus puissant point de vue databinding.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Bonjour,
    Avec un regard rapide sur ton code; il me semble que ce sont ces deux lignes qui lisent les valeurs de vitesse et distance dans ton objet SerialPort1 et mettent à jour les TextBox de ton interface.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Distancewest.Text = SerialPort1.ReadLine();
    Distanceeast.Text = SerialPort1.ReadLine();
    Après je ne comprends pas ce que tu entends par "au méme temps" ?

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 17
    Points : 0
    Points
    0
    Par défaut
    bonjour
    est ce qu'il y a des instructions pour la mise à jour de textbox ou seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Distancewest.Text = SerialPort1.ReadLine();
     Distanceeast.Text = SerialPort1.ReadLine();
    avec un boucle et une condition et merci d'avance

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Bonjour,
    non je pense que ca suffit...
    peut-être un Refresh à la limite... ?
    Debug ! tu verras si la propriété text est bien mise à jour et si c'est un simple problème d'affichage. Auquel cas un refresh devrait suffire.
    Sinon il faut creuser
    un peu plus mais là je n'ai pas assez d'élément pour t'aider...

Discussions similaires

  1. Récuperation des informations à partir d'une conf Cisco
    Par francois3004 dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 07/08/2007, 20h18
  2. Réponses: 3
    Dernier message: 27/04/2007, 16h31
  3. Réponses: 1
    Dernier message: 10/04/2007, 23h53
  4. Réponses: 4
    Dernier message: 19/03/2006, 15h20

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