Bon, j'aimerais savoir si dans le programme que je viens d'ecrire il y a des erreurs.
Merci


Code : 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Option Explicit
Dim Dimension As String
Dim nBuffer As Integer
Dim i As Integer
Private MonTableau() As String
Dim Row As Integer
 
 
Private Sub CmdAcqui_Click()
    CmdAcqui.Enabled = False
    CmdInit.Enabled = False
 
        MSComm1.Output = Chr(&H22) & Chr(&H14) & Chr(&H0)  'On met 0h a l'adresse 14h => On arrete l'acquisition des temperature avec MIP=0
        MSComm1.Output = Chr(&H55) 'On va maintenant lire des données
        MSComm1.Output = Chr(&H33) & Chr(&H0) & Chr(&H1A)  'On lit la page avec OOh pour poids fort et 1Ah pour poids faible
 
                Do
                    nBuffer = MSComm1.InBufferCount 'On fait une boucle pour obtenir que les 8 premieres valeurs de la page recu sur le port serie
                Loop While nBuffer < 8
 
                Dimension = MSComm1.Input
                Dimension = Asc(Left(Dimension, 1))
                ReDim MonTableau(Dimension - 1)
 
        MSComm1.Output = Chr(&H55) 'On va maintenant lire des données
        MSComm1.Output = Chr(&H33) & Chr(&H10) & Chr(&H0)   'On lit la page avec 1Oh pour poids fort et 0h pour poids faible
 
                Do
                    nBuffer = MSComm1.InBufferCount 'On fait une boucle pour obtenir que les 34 premieres valeurs de la page recu sur le port serie
                Loop While nBuffer < 34
 
                    For i = 0 To Dimension - 1
                    MonTableau(i) = Mid(MSComm1.Input, i, i + 1) 'On place nos valeurs dans le tableau
                    Next i
 
        MSChart1.TitleText = "Graphique de températures"
        MSChart1.chartType = VtChChartType2dLine
 
                With MSChart1
                     .Repaint = False ' Pas de rafraichissement
                     .ColumnCount = 1 ' Nombre de courbe
                     .RowCount = Dimension ' Nombre de points
 
                     'Tracé du graphique
                     .Column = 1 ' Numero du graphique
                     .ColumnLabel = "MonTableau" ' Libellé du 1er graphe
 
                     'On rentre les valeurs du graphe point par point
                        For Row = 1 To Dimension
                            .Row = Row 'Absisse X
                            .RowLabel = CStr(Row) 'On convertit en Single
                            .Data = MonTableau(Row) 'Ordonnée Y
                        Next Row
 
                    .Repaint = True ' Rafraîchissement du controle
 
                End With
 
 
 
End Sub
 
Private Sub CmdInit_Click()
  CmdInit.Enabled = False
  CmdAcqui.Enabled = False
 
  MSComm1.Output = Chr(&H22) & Chr(&HE) & Chr(&H40) 'On ecrit 40h a l'adresse 0Eh => On met CLR a 1
  MSComm1.Output = Chr(&HA5) 'On efface la memoire
 
        Dim i As Variant
        For i = 0 To 10000000 'On met en palce une boucle pour laisser le temps au DS1616 d'effacer sa memoire
         i = i + 1
        Next i
 
  MSComm1.Output = Chr(&H22) & Chr(&H29) & Chr(&H40) 'On ecrit 40h a l'adresse 29h => On met CS0 à 1
  MSComm1.Output = Chr(&H22) & Chr(&HE) & Chr(&H10)   'Ecriture de l'octet 10h a l'adresse 0Eh => On met SE a 1
  MSComm1.Output = Chr(&H22) & Chr(&HD) & Chr(&H1)  'On ecrit 01h a l'adresse 0Dh => On met 1 minute entre chaque acquisition de temperature
 
  CmdInit.Enabled = True
  CmdAcqui.Enabled = True
 
End Sub
 
Private Sub Form_Load()
  With MSComm1
    .CommPort = 1 'On initialise la liaison serie sur le port 1
    .Settings = "9600,N,8,1" 'On met une cadence de 9600 bauds, sans parité, 8 bits de données (avec un bit de start) et un bit stop
    .PortOpen = True 'On ouvre le port
  End With
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
  MsgBox "Etes vous sur de vouloir quitter l'application?", vbQuestion + vbOKCancel, "Sortie"
 
End Sub