COMFILE PICBASIC Manuel Utilisateur page 46

Table des Matières

Publicité

Manuel de référence PICBASIC
Gestion de valeurs à virgule avec les PICBASIC « PBM »
Pour attribuer une valeur décimale à virgule à une variable de type 'SINGLE' avec les PICBASIC de la série « PBM », il vous faudra
utiliser une variable 'STRING' de passage associée à l'instruction 'VALSNG'.
DIM VALEUR AS STRING*16
DIM NB AS SINGLE
VALEUR = "1234,5678"
NB = VALSNG(VALEUR)
En cas de calculs ou de comparaisons entre une variable de type 'SINGLE' avec des variables de type 'BYTE', 'INTEGER' ou
'LONG', il vous faudra impérativement procéder à une conversion préalable de ces dernières à l'aide de l'instruction sous peine
d'obtenir un résultat erroné.
Gestion de valeurs à virgule avec les PICBASIC « PB »
Pour utiliser des nombres à virgule à l'aide des PICBASIC de la série « PB », vous devrez utiliser des astuces de programmation.
Par exemple il ne vous sera pas possible d'origine de multiplier 200 par 3.14 avec les PICBASIC de la série « PB ». Dans ce cas, il
vous faut avoir recours à une méthode de « mise à l'échelle » pour obtenir le même résultat (ou une approximation de ce résultat
plus exactement). Voir l'exemple ci-dessous pour plus d'infos.
' La multiplication de 200 * 3.14 donne 628
'
SET PICBUS HIGH
LCDINIT
DIM I AS INTEGER
I = 200
I = 200 * 3
I = 200 * 1 / 10 + I
I = 200 * 4 / 100 + I
LOCATE 0,0
PRINT DEC(I)
10
GOTO 10
Dans le même esprit, lorsque vous voulez convertir une valeur issue d'une entrée de conversion analogique/numérique
récupérée sous la forme d'une valeur entre (0~255) et que vous voulez avoir l'équivalent sous une valeur comprise entre
(0~1000), il vous faut avoir recours à l'opération : 1000 / 256 = 3.90625
Ce qui revient à multiplier la valeurde la mesure « A/N » par 3.90625. Le programme ci-dessous montre comment faire :
SET PICBUS HIGH
LCDINIT
DIM I AS INTEGER
DIM J AS INTEGER
10
I = ADIN(0)
J = I * 3
J = I * 9 / 10 + J
LOCATE 0,0
PRINT DEC(I)
LOCATE 0,1
PRINT DEC(J)
GOTO 10
Parce que l'on utilise uniquement 3.9 comme chiffre multiplicateur, une erreur apparaît dans le résultat de la conversion (le
maximum affichable sera alors de 994). Toutefois ces astuces sont très pratiques avec les PICBASIC de la séie « PB ».
COMFILE Technology (traduction Française Lextronic)
' Affiche le résultat sur le LCD.
' Valeur de la conversion « A/N » surla ligne du dessus.
' Résultat de la conversion sur la ligne du dessous.
46

Publicité

Table des Matières
loading

Table des Matières