L'envoi d'un nombre entier en série dans les Arduino
J'ai besoin d'envoyer un nombre entier entre 0-10000, à Arduino en utilisant la communication série. Quelle est la meilleure façon de le faire?
Je pense à casser le nombre dans un tableau de caractères (par exemple: 500'5','0','0') et de les envoyer comme un flux d'octets (ouais, c'est moche). Alors reconstituer à l'autre extrémité. (tout ce qui est envoyé en série comme un flux d'octets, non?)
N'est-il pas une meilleure façon? D'une certaine manière, il devrait être en mesure d'affecter la valeur dans un int
type de variable.
(vraiment besoin de connaître la même chose à propos des chaînes trop, si possible)
OriginalL'auteur Anubis | 2012-12-14
Vous devez vous connecter pour publier un commentaire.
Si ce que vous cherchez, c'est la vitesse, alors au lieu de l'envoi d'un fichier ASCII est codé de type int, vous pouvez diviser un nombre à deux octets, voici un exemple:
OriginalL'auteur NiñoScript
Vous ne spécifiez pas le de de l'environnement, donc je suppose que vos problèmes est de la lecture des données en série sur un Arduino?
De toute façon, comme on peut le voir dans le Arduino en Série de référence, vous pouvez lire un entier à l'aide de la
Serial.parseInt()
appel de méthode. Vous pouvez lire des cordes avec par exemple.Serial.readBytes(buffer, length)
mais votre vraie question est de savoir quand s'attendre à une chaîne et quand s'attendre à un nombre entier (et quoi faire si quelque chose d'autre vient le long, par exemple. le bruit etc...)OriginalL'auteur Anders R. Bystrup
D'une autre manière:
sera de retour " BA " dans la console (LSB).
OriginalL'auteur Dave
Autre manière:
J'aime de cette façon.
OriginalL'auteur Reynel Fals de Pedro
Je ne suis pas de codage de fond, aujourd'hui j'ai essayé le même et il a obtenu de travailler.. je suis juste d'envoyer le nombre d'octets sage de début et de n octets ajoutés ('a' et 'b'). espérons que cela aide..
enter code here
OriginalL'auteur Akshayrnagendra