Arduino Função printf
-
Obtenha a mesma saída de
prinf()
usando as funçõessprintf()
eSerial.print()
juntas no Arduino -
Obtenha a mesma saída que
prinf()
usando apenas a funçãoSerial.print()
no Arduino
Este tutorial discutirá um método para obter o mesmo resultado que a função printf()
no Arduino.
Obtenha a mesma saída de prinf()
usando as funções sprintf()
e Serial.print()
juntas no Arduino
O Arduino não fornece a função printf()
. Mas se você deseja obter uma saída como a função printf()
, pode obtê-la usando as funções sprintf()
e Serial.print()
juntas. Primeiro, você precisa usar a função sprintf()
para formatar sua saída e armazená-la em uma variável char
. Em seguida, use a função Serial.print()
para enviar a variável para o monitor serial.
int time = 0;
char buff[50];
void setup() { Serial.begin(9600); }
void loop() {
sprintf(buff, "the value is %d seconds", time++);
Serial.println(buff);
}
No código acima, o buff
é uma variável do tipo char
para armazenar a saída formatada que você deseja mostrar no monitor serial. Observe que o uso desse método não é recomendado porque ele ocupará muito espaço de código. Em vez disso, você pode usar a função Serial.print()
duas ou três vezes para obter o mesmo resultado que a função printf()
. Além disso, esse método não funciona para números de ponto flutuante. Você precisa convertê-los em uma string
para números de ponto flutuante, e então você pode usar este método.
Obtenha a mesma saída que prinf()
usando apenas a função Serial.print()
no Arduino
Se o método acima não funcionar para você, aqui está uma abordagem melhor a ser usada. Em vez de usar o método acima, você pode usar a função Serial.print()
apenas para obter o mesmo resultado que a função printf()
. Mas esta função não funcionará para números de ponto flutuante. Para números de ponto flutuante, você precisa convertê-los em uma string e, em seguida, pode usar esta função.
int time = 0;
void setup() { Serial.begin(9600); }
void loop() {
Serial.print("the value is ");
Serial.print(time++);
Serial.println(" seconds");
}
Este método também fornecerá a mesma saída do método acima, mas é melhor e fácil de usar.