Envoyer les commandes d'écriture pour le port série avec C#?
Merci d'avance pour votre aide. Je suis en train d'écrire un léger programme C# pour écrire des lignes à un port série (envoyer des commandes à un AUTOMATE) pour le travail, et je ne suis pas un programmeur. Mon problème est que mon bouton n'envoyez pas la ligne pour le port série. Voici mon code:
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 WindowsFormsApplication1 {
public partial class Form1 : Form {
string command = "Turn Motor";
SerialPort COM1 = new SerialPort("COM1");
public Form1() {
InitializeComponent();
COM1.Open();
}
private void button1_MouseClick(object sender, MouseEventArgs e) {
COM1.WriteLine(command);
}
}
Que puis-je faire pour faire de la button1 cliquez sur envoyer le texte en ligne sur le port série? Le code doit être aussi simple que possible, et que ce n'est exécutée que sur un seul poste de travail. J'ai regardé tous les exemples, mais ont été incapables de s'adapter à mon code. Je ne veux pas de façon flagrante pour arnaquer les autres code pour qu'il fonctionne. Tout conseil serait apprécié.
EDIT: Le code ci-dessus n'est pas tout, par exemple, je suis de l'initialisation du port correctement. J'ai une autre section de code qui le reçoit et traite les chaînes, c'est juste l'expéditeur, je vais avoir des problèmes avec. J'ai également créé le bouton à l'aide du concepteur de formulaire, il n'y a pas de déconnexion.
OriginalL'auteur TerrorTech | 2011-10-09
Vous devez vous connecter pour publier un commentaire.
Je dirais:
Utiliser le
Click
de l'événement au lieu de leMouseClick
événement.Si vous venez de copier vos
button1_MouseClick
méthode à partir d'un exemple quelque part que la méthode n'est probablement pas souscrit à l'événement click correctement. Si vous double-cliquez sur le bouton dans Visual Studio designer, il sera mis en place une méthode souscrit à l'événement click correctement pour vous automatiquement. C'est là que vous mettriez votreCOM1.WriteLine(command);
Si les deux de ces suggestions sont incorrectes, vous devriez probablement obtenir une Exception quelque part (sauf si vous êtes de l'ouverture d'un port incorrect). Dans ce cas, vous devez décrire l'erreur dans votre question ici.
OriginalL'auteur Kevin Stricker
Il semble que vous ne sont pas de l'initialisation de votre Port Com. Vous devez définir votre
Débit
,Parité
,bits de données
,Arrêt
etpoignée de main
du bien. Regardez ci-dessus MSDN exemples pour des conseils. Vous pouvez définir la propriété du individualy ou les mettre dans le constructeur.Selon MSDN les valeurs par Défaut pour le dessus de propertys sont:
OriginalL'auteur Mark Hall