Bonjour à tous!!
Actuellement je développe une application qui, entre autre, écoute le port série et écrit les caractères reçus dans un fichier texte sur le disque dur...
Seulement j'ai un petit problème, assez rapidement (au bout de 500ms) je n'enregistre plus aucun caractères. Je suis persuadé que le problème vient de l'IHM C# car avec HyperTerminal je n'ai aucun problèmes de réception de données et mes trames s'enchaînent sans problème...
Voici les caractéristiques de la connexion : 115200, Databits : 8, Parity : None, ReadBufferSize : 4096
Code c# : 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 //<Création du fichier> ... StreamWriter sw = new StreamWriter("c:\\texte.txt"); ... //<Gestion de l'évènement Réception caractère> ... private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (e.EventType == System.IO.Ports.SerialData.Chars) { Invoke(new MethodInvoker(ProcessDataReceived)); } } ... //<Execution de la routine lorsqu'un caractère est reçu> ... private void ProcessDataReceived() { if (serialPort1.IsOpen) { carac_recu = Convert.ToString(serialPort1.ReadByte()); try { sw.WriteLine(carac_recu); //Ecriture dans le fichier d'une //ligne contenant le caractère } catch (Exception ex) { maskedTextBox1.Text = ex.Message; } } } ...
Quelqu'un a une idée pour régler le problème?? Merci de me répondre, je désespère un peu surtout que je n'ai pas fait beaucoup de C#...je ne suis pas un pro!![]()
Partager