Go Down

Topic: Arduino Micro :pas de TX (Read 3613 times) previous topic - next topic

lereparateurdepc

Bonjour,

Dans un souci de taille, j'ai opté pour une arduino micro.
Je transfert donc mon programme et là, je constate que la carte n'envoi rien sur l'USB (TX).
A l'origine, j'utilisais une Arduino UNO et tout fonctionnais parfaitement :

Un soft PC de ma création envoi des données par l'USB à l'Arduino.
Pour un autocontrôle, la carte renvoi les données reçu au soft PC; si les données sont différentes, il incrémente un compteur d'erreur de trame.

Le problème est que je ne reçois rien ..... Sur mon soft, je clique sur envoyer, la LED RX de l'arduino micro clignote mais pas la TX.

Avez-vous une idée ? Quelque chose de la doc m'échapperais-t-il ?

Merci

Cordialement,
Le réparateur de PC

Artouste


Bonjour,

Dans un souci de taille, j'ai opté pour une arduino micro.
Je transfert donc mon programme et là, je constate que la carte n'envoi rien sur l'USB (TX).
A l'origine, j'utilisais une Arduino UNO et tout fonctionnais parfaitement :

Un soft PC de ma création envoi des données par l'USB à l'Arduino.
Pour un autocontrôle, la carte renvoi les données reçu au soft PC; si les données sont différentes, il incrémente un compteur d'erreur de trame.

Le problème est que je ne reçois rien ..... Sur mon soft, je clique sur envoyer, la LED RX de l'arduino micro clignote mais pas la TX.

Avez-vous une idée ? Quelque chose de la doc m'échapperais-t-il ?




bonjour
je n'ai pas d'arduino micro , mais il semble qu'il y ai une subtilité avec les com :

Quote
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATmega32U4 hardware serial capability. Note that on the Micro, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class.


lereparateurdepc

re,

Mince, en fait quand je disais TX et RX je parlais des LED qui indique le transfert USB.
Oui, en effet, avec la UNO, les briches TX et RX sont lié à l'USB mais pas avec la micro.

Je n'utilise pas ces broches mais l'USB.
Comme, lors du transfert, les 2 LED Tx et Rx clignote, j'en déduit qu'elle sont ratachées à l'USB.

Pour résumer : il faut utiliser Serial.print pour l'USB et Serial1.print pour la COM sur les broches Tx et Rx.

Après un test, j'ai bien un retour de donnée (avec LED Tx) mais uniquement avec le moniteur port série d'Arduino pas avec mon soft.... alors que la ligne (Serial.println(charBuf)) est bien exécutée dans les 2 cas. Je ne vois pas pourquois ça plante .. :(

Cordialement,
Le réparateur de PC

Artouste


...
Après un test, j'ai bien un retour de donnée (avec LED Tx) mais uniquement avec le moniteur port série d'Arduino pas avec mon soft.... alors que la ligne (Serial.println(charBuf)) est bien exécutée dans les 2 cas. Je ne vois pas pourquois ça plante .. :(
...

Peut etre lire ça
http://arduino.cc/en/Guide/ArduinoLeonardoMicro?from=Guide.ArduinoLeonardo#toc6
et la section
Good Coding Practice

lereparateurdepc

re,

J'ai bien lu cette page et pas mal de fois; praincipalement l'histoire du delay(1) mais mon programme intègre déjà une pause de 100ms .....
Voici le code complet légèrement modifié pour Arduino Micro :

Quote

// /!\ Version Arduino MICRO /!\
//-----EEPROM Lib-----
#include <EEPROM.h> // Inclusin librairie pour lire/écrire dans EEPROM.

#define SDI MOSI //10 UNO
#define CLK SCK //12 UNO
#define LE MISO //11 UNO

#define MAX_STRING_LEN 20

char *inputstring1 = ""; //this is the string that will be split. this can be changed!
char *p, *i;
int x;

int octetReception=0; // variable de stockage des valeurs reçues sur le port Série (ASCII)
char caractereRecu=0; // variable pour stockage caractère recu
String Data1Str;
String Data2Str;
byte Data1;
byte Data2;
String chaineReception=""; // déclare un objet String vide pour reception chaine
String stringOne;
char charBuf[50];

void setup(){
  pinMode(13, OUTPUT); // Pour contrôle visuel.
  digitalWrite(13, LOW);
  pinMode(SDI, OUTPUT);
  pinMode(CLK, OUTPUT);
  pinMode(LE, OUTPUT);
  Serial.begin(9600);
  // while (!Serial) ; // Pas utile démarrage immédiat.
  digitalWrite(13, HIGH);
  Out(255, 255);
  delay(1000);
  Out(0, 0);
  delay(1000);
  Out(EEPROM.read(0), EEPROM.read(1));
  digitalWrite(13, LOW);


void loop() {   

  while (Serial.available()>0) { // tant qu'un octet en réception
    octetReception=Serial.read(); // Lit le 1er octet reçu et le met dans la variable
    if (octetReception==13) { // si Octet reçu est le saut de ligne
      stringOne = chaineReception; 
      stringOne.toCharArray(charBuf, 50) ;
      for (int i = 0; i < 9; i++) {
        charBuf[50] = charBuf[50] & charBuf;
      }
      inputstring1 = charBuf;
      Data1Str = subStr(inputstring1, "|", 1);
      Data2Str = subStr(inputstring1, "|", 2);
      Data1 = Data1Str.toInt();
      Data2 = Data2Str.toInt();
      EEPROM.write(0, Data1);
      EEPROM.write(1, Data2);
      Out(Data1, Data2); 
      chaineReception=""; //RAZ le String de réception
      Serial.println(charBuf);
      delay(100); // pause
      break; // sort de la boucle while
    }
    else { // si le caractère reçu n'est pas un saut de ligne
      caractereRecu=char(octetReception); // convertit l'octet reçu en caractère
      chaineReception=chaineReception+caractereRecu; // ajoute le caratère au String
    }

  } // fin tant que  octet réception


void Out(byte data1, byte data2)  {   
  shiftOut(SDI, CLK, LSBFIRST, data2);   
  shiftOut(SDI, CLK, LSBFIRST, data1);   
  digitalWrite(LE, HIGH);
  delayMicroseconds(1);
  digitalWrite(LE, LOW); 


char* subStr (char* input_string, char *separator, int segment_number) {
  char *act, *sub, *ptr;
  static char copy[MAX_STRING_LEN];
  int i;
  strcpy(copy, input_string);
  for (i = 1, act = copy; i <= segment_number; i++, act = NULL) {
    sub = strtok_r(act, separator, &ptr);
    if (sub == NULL) break;
  }
  return sub;
}


Cordialement,
Le réparateur de PC

Carolyne

Bonjour Mr lereparateurdepc, Ton soft pc m'intéresse; because, je compte en faire aussi un pour de la gestion Midi.
A tu fais une interface graphique ? M'offrirais-tu ton source ? et ton exe. Le commercialise-tu ? (avec le source ).
En cliquant sur mon nom, tu peux m'envoyer un mess-perso.
Acec mes excuses pour la petite interférence dans ce fil.

lereparateurdepc

re,

Soft réalisé sous VB 2010 mais il est vraiment dédié :
Pilotage d'un afficheur d'APC 2200XL hors onduleur voir :
http://forum.arduino.cc/index.php?topic=203460.new;topicseen#new
La capture d'écran du soft :

Le soft ne fait que créer la valeur des 2 octets et l'envoyer sur le port série de l'Arduino.
Je ne vends PAS mes programmes, ils sont réalisés dans un but personnel UNIQUEMENT.

Pour le nouveau projet, ce sera l'afficheur d'un chargeur de batterie

Cordialement,
Le réparateur de PC

Carolyne

Quote
ils sont réalisés dans un but personnel UNIQUEMENT.

personnel UNIQUEMENT ? Ou uniquement PERSONNEL ?
Tu a honte de tes codes ou tu craint que quelqu'un fasse du blé avec ? Ou autre motifs ?
Bon, mais si tu ne veux pas répondre, personne ne t'en voudra. Libertad  carigna !

lereparateurdepc

re,

Ce programme n'a pas été développé dans un but de commercialisation mais pour une utilisation personnelle.

Quote
Tu a honte de tes codes ou tu craint que quelqu'un fasse du blé avec ? Ou autre motifs ?

Je ne m'attendais pas à ce que ce soit pris de la sorte.
J'ai répondu à vos questions donc non je ne donne pas l'intégralité des sources et non je ne les vends pas.
La partie création des valeurs resterons privées car j'ai passé pas mal de temps à la réalisée et surtout à recomposer les valeurs.

Merci de continuer la discussion soft PC en MP.

Cordialement,
Le réparateur de PC

68tjs


La partie création des valeurs resterons privées car j'ai passé pas mal de temps à la réalisée et surtout à recomposer les valeurs.

Je ne suis pas demandeur donc  cela me permet de dire et toute indépendance que ce genre de réaction n'est pas dans l'esprit de ce forum qui est avant tout un forum de PARTAGE et d'entre-aide
M'enfin les choses sont claires maintenant et je ne sais pas si la majorité des personnes qui renseignent apprécierons ce fonctionnement a sens unique.

lereparateurdepc

re,

C'est un forum consacré à Arduino et non VisualBasic. En ce qui est des sources Arduino, pas de soucis logique, la plateforme est Open-source mais en ce qui concerne VB j'ai trop souvent retrouvé mes sources "données juste pour voir" dans un logiciel prétendant appartenir à une autre personne et qui refuse d'admettre la provenance de cette source.

Je peux communique une partie des codes VB, ceux liés à Arduino.

En ce qui concerne le sujet d'origine, pas d'idées ?

Cordialement,
Le réparateur de PC

Carolyne

Loin de moi l'idée de vouloir faire polémique, mais quand tu dis:
Quote
j'ai trop souvent retrouvé mes sources "données juste pour voir" dans un logiciel prétendant appartenir à une autre personne

Je me dis que les gens qui pompent des sources pour créer un "logiciel", se gardent bien de livrer le code. Et ce d'autant plus qu'ils auront obtenu le bout par MP ou autre et non par la voie "open source".
Bien évidemment que tu fais ce que tu veux avec tes codes. C'est simplement parce que tu en a fait mention que j'ai demandé.
Mais franchement, je ne comprends pas, mais alors vraiment pas, la gloriole qu'on peut tirer d'avoir pondu du code.
Ne faut-il pas faire passer sa satisfaction personnelle avant la vanité des congratulations.
Qu'est-ce que tu peux bien en avoir à foutre qu'un type se soit servi de ton code ? ....Mystère...



lereparateurdepc

re,

Si vous y tennez temps :

Code: [Select]

Imports System.IO.Ports
Imports System.Text
Public Class Form1
   Dim BatNiv1 As Integer = 0
   Dim BatNiv2 As Integer = 0
   Dim BatNiv3 As Integer = 0
   Dim BatNiv4 As Integer = 0
   Dim BatNiv5 As Integer = 0
   Dim PwrNiv1 As Integer = 0
   Dim PwrNiv2 As Integer = 0
   Dim PwrNiv3 As Integer = 0
   Dim PwrNiv4 As Integer = 0
   Dim PwrNiv5 As Integer = 0
   Dim IsBoost As Integer = 0
   Dim IsTrim As Integer = 0
   Dim IsACOK As Integer = 0
   Dim IsSurPwr As Integer = 0
   Dim IsOnBat As Integer = 0
   Dim IsDefBat As Integer = 0
   Dim SerialPortList As String()
   Dim WithEvents MyPort As SerialPort = New SerialPort
   Dim BinData As String
   Dim ReadVal As String
   Dim IsOn As Boolean = False
   Dim DistStpVal As Integer = 1
   Dim TramError As Integer = 0
   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       Try
           SerialPortList = SerialPort.GetPortNames()
           For i As Integer = 0 To SerialPortList.Length - 1
               If SerialPortList(i) <> "COM1" Then
                   ComboBox1.Items.Add(SerialPortList(i))
               End If
               If ComboBox1.Items.Count = 1 Then
                   ComboBox1.SelectedIndex = 0
               ElseIf ComboBox1.Items.Count = 0 Then
                   ButOpenSer.Enabled = False
               End If
           Next
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
       Try
           MyPort.PortName = ComboBox1.SelectedItem
           If ComboBox1.Items.Count = 1 Then
               ButOpenSer_Click(Nothing, Nothing)
           End If
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Sub ButOpenSer_Click(sender As System.Object, e As System.EventArgs) Handles ButOpenSer.Click
       Try
           If ComboBox1.SelectedItem <> "" Then
               ButOpenSer.Enabled = False
               ButCloseSer.Enabled = True
               ComboBox1.Enabled = False
               MyPort.BaudRate = 9600
               MyPort.DataBits = 8
               MyPort.Parity = Parity.None
               MyPort.StopBits = StopBits.One
               MyPort.Handshake = Handshake.None
               MyPort.Encoding = Encoding.ASCII
               MyPort.Open()
               Panel1.Enabled = True
               ButSend.Enabled = True
           End If
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Sub ButCloseSer_Click(sender As System.Object, e As System.EventArgs) Handles ButCloseSer.Click
       Try
           MyPort.Close()
           ButOpenSer.Enabled = True
           ButCloseSer.Enabled = False
           ComboBox1.Enabled = True
           Panel1.Enabled = False
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
#Region "LED"
   Private Sub OSPwr1_Click(sender As System.Object, e As System.EventArgs) Handles OSPwr1.Click
       If PwrNiv1 = 0 Then
           PwrNiv1 = 1
           OSPwr1.BackColor = Color.Green
       Else
           PwrNiv1 = 0
           OSPwr1.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSPwr2_Click(sender As System.Object, e As System.EventArgs) Handles OSPwr2.Click
       If PwrNiv2 = 0 Then
           PwrNiv2 = 2
           OSPwr2.BackColor = Color.Green
       Else
           PwrNiv2 = 0
           OSPwr2.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSPwr3_Click(sender As System.Object, e As System.EventArgs) Handles OSPwr3.Click
       If PwrNiv3 = 0 Then
           PwrNiv3 = 4
           OSPwr3.BackColor = Color.Green
       Else
           PwrNiv3 = 0
           OSPwr3.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSPwr4_Click(sender As System.Object, e As System.EventArgs) Handles OSPwr4.Click
       If PwrNiv4 = 0 Then
           PwrNiv4 = 8
           OSPwr4.BackColor = Color.Green
       Else
           PwrNiv4 = 0
           OSPwr4.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSPwr5_Click(sender As System.Object, e As System.EventArgs) Handles OSPwr5.Click
       If PwrNiv5 = 0 Then
           PwrNiv5 = 16
           OSPwr5.BackColor = Color.Green
       Else
           PwrNiv5 = 0
           OSPwr5.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBoost_Click(sender As System.Object, e As System.EventArgs) Handles OSBoost.Click
       If IsBoost = 0 Then
           IsBoost = 128
           OSBoost.BackColor = Color.Orange
       Else
           IsBoost = 0
           OSBoost.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSACOK_Click(sender As System.Object, e As System.EventArgs) Handles OSACOK.Click
       If IsACOK = 0 Then
           IsACOK = 4
           OSACOK.BackColor = Color.Green
       Else
           IsACOK = 0
           OSACOK.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSTrim_Click(sender As System.Object, e As System.EventArgs) Handles OSTrim.Click
       If IsTrim = 0 Then
           IsTrim = 1
           OSTrim.BackColor = Color.Orange
       Else
           IsTrim = 0
           OSTrim.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSSurPwr_Click(sender As System.Object, e As System.EventArgs) Handles OSSurPwr.Click
       If IsSurPwr = 0 Then
           IsSurPwr = 32
           OSSurPwr.BackColor = Color.Red
       Else
           IsSurPwr = 0
           OSSurPwr.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSOnBat_Click(sender As System.Object, e As System.EventArgs) Handles OSOnBat.Click
       If IsOnBat = 0 Then
           IsOnBat = 2
           OSOnBat.BackColor = Color.Orange
       Else
           IsOnBat = 0
           OSOnBat.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSDefBat_Click(sender As System.Object, e As System.EventArgs) Handles OSDefBat.Click
       If IsDefBat = 0 Then
           IsDefBat = 64
           OSDefBat.BackColor = Color.Red
       Else
           IsDefBat = 0
           OSDefBat.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBat1_Click(sender As System.Object, e As System.EventArgs) Handles OSBat1.Click
       If BatNiv1 = 0 Then
           BatNiv1 = 8
           OSBat1.BackColor = Color.Green
       Else
           BatNiv1 = 0
           OSBat1.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBat2_Click(sender As System.Object, e As System.EventArgs) Handles OSBat2.Click
       If BatNiv2 = 0 Then
           BatNiv2 = 16
           OSBat2.BackColor = Color.Green
       Else
           BatNiv2 = 0
           OSBat2.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBat3_Click(sender As System.Object, e As System.EventArgs) Handles OSBat3.Click
       If BatNiv3 = 0 Then
           BatNiv3 = 32
           OSBat3.BackColor = Color.Green
       Else
           BatNiv3 = 0
           OSBat3.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBat4_Click(sender As System.Object, e As System.EventArgs) Handles OSBat4.Click
       If BatNiv4 = 0 Then
           BatNiv4 = 64
           OSBat4.BackColor = Color.Green
       Else
           BatNiv4 = 0
           OSBat4.BackColor = Color.Transparent
       End If
   End Sub
   Private Sub OSBat5_Click(sender As System.Object, e As System.EventArgs) Handles OSBat5.Click
       If BatNiv5 = 0 Then
           BatNiv5 = 128
           OSBat5.BackColor = Color.Green
       Else
           BatNiv5 = 0
           OSBat5.BackColor = Color.Transparent
       End If
   End Sub
#End Region
A suivre .....


mince trop de caractères .....

lereparateurdepc

re,

Double post pour afficher la suite du code :

Code: [Select]

... Suite
   Private Sub ButSend_Click(sender As System.Object, e As System.EventArgs) Handles ButSend.Click
       Try
           BinData = BatNiv1 + BatNiv2 + BatNiv3 + BatNiv4 + BatNiv5 + IsACOK + IsOnBat + IsTrim _
                   & "|" & IsBoost + IsDefBat + IsSurPwr + PwrNiv1 + PwrNiv2 + PwrNiv3 + PwrNiv4 + PwrNiv5
           LbSend.Text = "Envoyé : " & BinData
           MyPort.Write(BinData & Environment.NewLine)
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Sub MyPort_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles MyPort.DataReceived
       Try
           ReadVal = MyPort.ReadLine 'Existing.Trim
           Me.Invoke(New ProgressRefresh(AddressOf ReadData))
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   Private Delegate Sub ProgressRefresh()
   Sub ReadData()
       LbRead.Text = "Reçu : " & ReadVal
       If ReadVal <> "" And (ReadVal.ToString).Trim <> (BinData.ToString).Trim Then
           TramError += 1
           LbTrmErr.Text = "Erreur de tramme : " & TramError
           ' MsgBox("Erreur de transmission :" & Environment.NewLine & "Envoyé : " & BinData & Environment.NewLine & "Reçu : " & ReadVal)
       End If
   End Sub
   Private Sub RabManu_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RbManu.CheckedChanged
       Panel1.Enabled = RbManu.Checked
       ButSend.Enabled = RbManu.Checked
   End Sub
   Private Sub RbFault_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RbFault.CheckedChanged
       DistStpVal = 1
       If RbFault.Checked = True Then
           Timer1_Tick(Nothing, Nothing)
           Timer1.Start()
       Else
           Timer1.Stop()
       End If
   End Sub
   Private Sub RbDistStp_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RbDistStp.CheckedChanged
       IsOn = False
       If RbDistStp.Checked = True Then
           Timer1_Tick(Nothing, Nothing)
           Timer1.Start()
       Else
           Timer1.Stop()
       End If
   End Sub
   Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
       Try
           If RbFault.Checked = True Then
               If IsOn = False Then
                   OSPwr1.BackColor = Color.Green
                   OSPwr2.BackColor = Color.Green
                   OSPwr3.BackColor = Color.Green
                   OSPwr4.BackColor = Color.Green
                   OSPwr5.BackColor = Color.Green
                   OSBoost.BackColor = Color.Transparent
                   OSACOK.BackColor = Color.Transparent
                   OSTrim.BackColor = Color.Transparent
                   OSSurPwr.BackColor = Color.Transparent
                   OSOnBat.BackColor = Color.Transparent
                   OSDefBat.BackColor = Color.Transparent
                   OSBat1.BackColor = Color.Green
                   OSBat2.BackColor = Color.Green
                   OSBat3.BackColor = Color.Green
                   OSBat4.BackColor = Color.Green
                   OSBat5.BackColor = Color.Green
                   BinData = 248 & "|" & 31
               IsOn = True
           Else
               OSPwr1.BackColor = Color.Transparent
               OSPwr2.BackColor = Color.Transparent
               OSPwr3.BackColor = Color.Transparent
               OSPwr4.BackColor = Color.Transparent
               OSPwr5.BackColor = Color.Transparent
               OSBoost.BackColor = Color.Transparent
               OSACOK.BackColor = Color.Transparent
               OSTrim.BackColor = Color.Transparent
               OSSurPwr.BackColor = Color.Transparent
               OSOnBat.BackColor = Color.Transparent
               OSDefBat.BackColor = Color.Transparent
               OSBat1.BackColor = Color.Transparent
               OSBat2.BackColor = Color.Transparent
               OSBat3.BackColor = Color.Transparent
               OSBat4.BackColor = Color.Transparent
               OSBat5.BackColor = Color.Transparent
               BinData = 0 & "|" & 0
               IsOn = False
               End If
           ElseIf RbDistStp.Checked = True Then
               If DistStpVal = 1 Then
                   OSPwr1.BackColor = Color.Transparent
                   OSPwr2.BackColor = Color.Transparent
                   OSPwr3.BackColor = Color.Transparent
                   OSPwr4.BackColor = Color.Transparent
                   OSPwr5.BackColor = Color.Transparent
                   OSBoost.BackColor = Color.Transparent
                   OSACOK.BackColor = Color.Transparent
                   OSTrim.BackColor = Color.Orange
                   OSSurPwr.BackColor = Color.Red
                   OSOnBat.BackColor = Color.Transparent
                   OSDefBat.BackColor = Color.Transparent
                   OSBat1.BackColor = Color.Transparent
                   OSBat2.BackColor = Color.Transparent
                   OSBat3.BackColor = Color.Transparent
                   OSBat4.BackColor = Color.Transparent
                   OSBat5.BackColor = Color.Transparent
                   BinData = 1 & "|" & 32
               ElseIf DistStpVal = 2 Then
                   OSPwr1.BackColor = Color.Transparent
                   OSPwr2.BackColor = Color.Transparent
                   OSPwr3.BackColor = Color.Transparent
                   OSPwr4.BackColor = Color.Transparent
                   OSPwr5.BackColor = Color.Transparent
                   OSBoost.BackColor = Color.Transparent
                   OSACOK.BackColor = Color.Green
                   OSTrim.BackColor = Color.Transparent
                   OSSurPwr.BackColor = Color.Transparent
                   OSOnBat.BackColor = Color.Orange
                   OSDefBat.BackColor = Color.Transparent
                   OSBat1.BackColor = Color.Transparent
                   OSBat2.BackColor = Color.Transparent
                   OSBat3.BackColor = Color.Transparent
                   OSBat4.BackColor = Color.Transparent
                   OSBat5.BackColor = Color.Transparent
                   BinData = 6 & "|" & 0
               Else
                   OSPwr1.BackColor = Color.Transparent
                   OSPwr2.BackColor = Color.Transparent
                   OSPwr3.BackColor = Color.Transparent
                   OSPwr4.BackColor = Color.Transparent
                   OSPwr5.BackColor = Color.Transparent
                   OSBoost.BackColor = Color.Orange
                   OSACOK.BackColor = Color.Transparent
                   OSTrim.BackColor = Color.Transparent
                   OSSurPwr.BackColor = Color.Transparent
                   OSOnBat.BackColor = Color.Transparent
                   OSDefBat.BackColor = Color.Red
                   OSBat1.BackColor = Color.Transparent
                   OSBat2.BackColor = Color.Transparent
                   OSBat3.BackColor = Color.Transparent
                   OSBat4.BackColor = Color.Transparent
                   OSBat5.BackColor = Color.Transparent
                   BinData = 0 & "|" & 192
                   DistStpVal = 0
               End If
               DistStpVal += 1
           End If
           LbSend.Text = "Envoyé : " & BinData
           MyPort.Write(BinData & Environment.NewLine)
       Catch ex As Exception
           Timer1.Stop()
           MsgBox(ex.Message)
       End Try
   End Sub
End Class


Par contre les avis en MP car on se détourne un peut du sujet d'origine si ça ne dérange pas .....

Cordialement,
Le réparateur de PC

Go Up