Stap 10: Laatste truc - krijgen een geheel getal van seriële Input
De ingang voor seriële handelt alleen in tekens. Dus hoe krijg je een geheel getal? Tekens krijgen, ervoor te zorgen zij zijn cijfers, en verschuiven ze links in het nummer door telkens met tien te vermenigvuldigen. Als je een CR, gebeurt het nummer:functie getSerialInt()
ingang voor seriële gebruiken om een geheel getal
int getSerialInt()
{
char inChar;
int
int input = 0;
Serial.Flush();
doen
{
terwijl (Serial.available() > 0)
{
inChar = Serial.read();
echo van de invoer
Serial.Print(inChar);
Convert 0-9 teken 0-9 int
in = inChar - '0';
Als ((in > = 0) & & (in < = 9))
{
Aangezien de nummers zijn links naar rechts ingevoerd
het huidige aantal kan worden verschoven naar links
om ruimte te maken voor het nieuwe cijfer door met tien te vermenigvuldigen
invoer = (input * 10) + in;
}
}
}
Stop wanneer een lus een ^ M wordt ontvangen
terwijl (inChar! = 13);
het getal retourneren
retourneren input;
}