En effectuant une surveillance de bas niveau, la séquence suivante est envoyée à l'imprimante:
N0 M106*36
N1 G28*18
N2 M107*39
Cette séquence allume simplement le ventilateur, abrite l'imprimante, puis l'éteint.
Question: À quoi servent les astérisques / étoiles / (*) et les deux chiffres suivants sur chaque ligne?
Réponses:
C'est une somme de contrôle. Il est ajouté par le logiciel hôte au code G, pour permettre une vérification de base par le micrologiciel que le code G a été transmis tel quel. Cela ne change pas la signification du code G, et ce que votre séquence représente réellement est juste
M106, G28, M107
. IlN0,N1,N2,...
s'agit de numéros de ligne, et la combinaison de numéros de ligne et de sommes de contrôle est utilisée pour demander un nouvel envoi de toutes les lignes endommagées pendant la transmission.la source
byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];