Hello,
Je veux faire une simple connexion avec mon port serie.
Je veux pas m'empbrouiller avec les stopbit, parity etc.. en propriete car ma connexion sera toujours la meme, du coup ma class CommunicationManager est relativement simple.
class CommunicationManager
{
private SerialPort comPort = new SerialPort();
public CommunicationManager()
{
comPort.DataReceived += new SerialDataReceivedEventHandler(comPort_DataReceived);
}
public void WriteData(string msg)
{
if (comPort == null)
{
MessageBox.Show("Please connect to correct port...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else comPort.Write(msg);
}
public void OpenPort(string portName)
{
comPort = new SerialPort(portName, 9600, Parity.None, 8, StopBits.One);
comPort.Open();
}
void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string msg = comPort.ReadExisting();
MessageBox.Show(msg);
}
}
depuis ma form principal j'ai
CommunicationManager myport = new CommunicationManager();
j'ai essayé avec d'autre prog trouvé sur le net et ceux ci recoivent bien mon message retourné, par contre j'arrive pas trop a comprendre leur demarche. mais ca montre bien que mon appareil envoie bien la commande retour.
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 5 avril 2013 à 09:05
Bonjur,
Un problème de paramétrage, est-tu sûr que ton appareil recoit la commande.
Ensuite verifie le paramètre SerialPort.ReceivedBytesThreshold.
pour les test met-le à 1 pour commencer.
Par rapport aux autres programmes, vérifie ce qui change.
Bonjour,
oui je suis pratiquement sur et certain qu'il recoit et qu'il reponds (c'est une carte avec un PIC)
j'utilise un converter serie/usb FTDI, et je vois bien la LED qui emet losrque la commande est renvoyée.
De plus j'ai testé avec un autre program que le mien et le program recoit bien le retour.
Aussi j'ai utilisé la meme configuration dans une autre application et il recevait bien.
la seul et grosse difference c'est que maintenant j'utilise une class pour ma connexion manager, car je veux pouvoir acceder a la connexion depuis une form fille.
Dans mon application precedente, je declarais le port serie est fesais l'emission/reception tout inclu dans la form principal.
vu que je suis pas un pro avec les class, je pensais que mon event n'etait pas enregistré correctement, ou qq chose dans le genre ?