Affichage Des Informations De Port De Série Dans La Zone De Texte
En C#, j'ai le code suivant:
public Form1()
{
InitializeComponent();
System.ComponentModel.IContainer components = new System.ComponentModel.Container();
serialPort1 = new System.IO.Ports.SerialPort(components);
serialPort1.PortName = "COM7";
serialPort1.BaudRate = 9600;
serialPort1.DtrEnable = true;
serialPort1.Open();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
}
J'ai un Arduino envoi de données série pour le port comm continuellement, et je tiens à mettre les données reçues dans une zone de texte (avec les nouvelles entrées venant sur une autre ligne).
J'essaie de comprendre l'ensemble += concept, mais je ne suis pas sûr de savoir comment utiliser le code que j'ai pour entrer le numéro de série de données dans une zone de texte... quelqu'un peut-il m'aider à comprendre cela.
- Est votre code de travail? Êtes-vous demander à propos de la gestion des événements ou quoi?
- Hans Passant - je en désaccord. Je suis en train d'essayer d'apprendre sur Arduino, C#, et de la robotique. C'est juste la dernière section, je suis en train d'essayer de comprendre. J'ai l'Arduino relié à un capteur de force qui est outputing de données série, et je voudrais que mon programme C# pour lire les données sur le port COM...
- Pourquoi ne pas utiliser textBox1.AppendText("Votre texte")?
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser une zone de texte utilisation d'un RichTextBox, de sorte que vous pouvez obtenir de nouvelles lignes. Je recommande aussi de faire en lecture seule. Aussi, Ne pas oublier d'ajouter un saut de ligne ("\n") à la fin de chaque future chaîne.
le code devrait ressembler à ceci
static
supprimer cela et vous serez en mesure de modifier le SYSTÈME de l'intérieur.Je ne suis pas vraiment à la suite de ce que vous demandez. Ne indata obtenir les données? Si donc, pour ajouter le texte à la zone de texte juste:
Dans votre cas énumérés ci-dessus la
+=
opérateur est utilisé pour s'inscrire à un événement.Signifie que lorsque le DataReceived événement est déclenché, il va appeler
DataReceivedHandler
. Pour plus d'informations, consultez MSDN. DansDataReceivedHandler
simplement ajouterTextBox.Text += indata + "\r\n";
pour ce faire, vous aurez besoin d'enlever lastatic
modificateur dans votre signature de la méthode.Dans d'autres cas, comme avec
int
c'est l'affectation opérateur d'incrémentation, par exemple, ce sont les mêmesPour
System.String
il est utilisé pour concaténer des chaînes.