Função de Arduino DToStrf -Tire seus carros alegóricos em cordas

Função de Arduino DToStrf -Tire seus carros alegóricos em cordas
Ao programar as placas Arduino, temos que lidar com diferentes técnicas de programação para manipular os dados de acordo. Para lidar com dados, precisamos de várias funções que nos ajudem a escrever código para o nosso projeto. Uma das funções amplamente usadas é o dtostrf () que converte valores duplos e flutuantes em string com precisão definida.

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:

  • Precisa ser grande o suficiente para armazenar valor.
  • Considerando o tamanho deve se lembrar de espaço para decimal ““.” e possível negativo "-" sinal.
  • 1 para o caráter de terminação nula "\ 0".

A seguir, o tipo de dados estes quatro parâmetros leva:

  • O primeiro parâmetro é uma variável que é do tipo dobro.
  • O segundo parâmetro é do tipo Caracteres que especifica o largura da sequência de saída.
  • O terceiro parâmetro é do tipo Caracteres que especifica o número de dígitos Depois do lugar decimal.
  • Quarto parâmetro é uma variável do tipo Caracteres qual Valores convertidos de lojas.

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*/
destino de char [8]; /*Tamanho da matriz de destino definido*/
Void Setup ()
Serial.começar (9600); /*A comunicação serial começa*/
dtostrf (fonte, 5,2, destino); /*Dupa convertida em string*/
Serial.println (destino); /*A sequência de destino é impressa*/

Void Loop ()

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.