Função arduino dtostrf ()
Função arduino dtostrf () converte valores de ponto duplo e flutuante em uma string. Usando esta função, um valor duplo é passado e convertido em um valor de representação ASCII que será armazenado dentro da string. O chamador é responsável por fornecer armazenamento suficiente dentro da string.
dtostrf () A função ajuda ao exibir um texto em uma tela de matriz LCD usando Arduino. Depois que os dados forem convertidos em uma string, ele atuará como um texto que pode ser exibido em qualquer lugar em que pode ser uma tela OLED ou qualquer outro módulo de exibição.
Vamos ver a sintaxe seguida.
Sintaxe
A seguir, a sintaxe da função dtostrf ():
dtostrf (floatValue, mestringwidth, numafterdecimal, charbuf_to_store_string);Parâmetros
Esta função leva quatro parâmetros para converter o dobro em um valor ASCII armazenado dentro da string:
1. FloatValue: É o primeiro parâmetro que assume o valor da flutuação que queremos converter em string.
2. MinstringWidth: Este é o segundo parâmetro que define a largura mínima do campo da string de saída. Se definirmos a largura mínima da string menor que os valores de ponto flutuante convertido, os dígitos extras ainda serão exibidos e, para contar o sinal decimal e negativo, também será incluído como espaços. Por outro lado, se a largura definida para string for mais do que converter valor, os valores extras serão preenchidos com espaços em branco.
3. NumAfterDecimal: O terceiro parâmetro é precisão que descreve o número de dígitos após o ponto decimal. Ele completa os dígitos extras para o número especificado em precisão após ponto decimal.
4. Charbuffer: O argumento final é onde a string será armazenada. Este é um tipo de matriz de char tendo tamanho definido. Ao considerar o sinal, considere:
A seguir, o tipo de dados estes quatro parâmetros leva:
Retornar dados
Um ponteiro para a corda convertida é retornado usando dtostrf () função.
Código de exemplo
fonte dupla = 789.127; /*Fonte como variável dupla é inicializada*/Aqui no código acima, uma variável de fonte de ponto duplo é definido com valor de “789.127 ” Em seguida, uma matriz de buffer de destino é inicializada com um tamanho de "8". Na parte de configuração usando a fonte de função dtostrf (), o valor de ponto duplo será convertido em uma string com largura mínima de 5 e precisão decimal de 2 dígitos após local decimal. No final do código, imprimimos o resultado no monitor serial.
Saída
Terminal de saída mostra -nos uma string que é arredondada para 2 pontos decimais.
Conclusão
Para converter o duplo valor em uma string, uma função de programação de Arduino AVR é usada dtostrf (). Esta função leva quatro parâmetros: uma fonte que é um valor de ponto flutuante que será convertido em uma sequência de destino com valor mínimo de largura definido e, para precisão, um parâmetro é definido que redonda para valores decimais específicos. Este artigo ajudará a entender tudo isso de uma maneira melhor.