Ajuda com código para escrever em display


boa tarde,

estou criando um programa que escreve algumas informações em um display de cristal líquido i2c.

a questão é que não estou conseguindo escrever casas decimais no display da forma que quero.

não vou colocar o código todo porque está muito grande, mas parte que importa é essas três


quando faço desta forma o valor é escrito no display corretamente com 2 casas decimais, perfeito.


code: [select]
#define m_tensao 0.00001211146910945530
.
.
.
tensao = (h_byte<<16)|(m_byte<<8)|(l_byte);
.
.
.
lcd.print(tensao*m_tensao);


porém como preciso trabalhar com o valor final da variável "tensão", alterei o código da seguinte forma

code: [select]
#define m_tensao 0.00001211146910945530
.
.
.
tensao = ((h_byte<<16)|(m_byte<<8)|(l_byte))*(m_tensao);
.
.
.
lcd.print(tensao);


só que desta forma não exibe mais 2 casas decimais no display.

se alguém puder me dar uma dica de como resolver isso agradeceria ajuda.

isso é normal. verifique se o tipo da variável tensão é float. se não isso nunca funcionará como quer.
como o cálculo é feito com números inteiros, após o cálculo, esse valor não irá conter parte fraccionária.
se mesmo importante ter esse valor para utilizar em outros locais programa, terá que criar outra variável, tipo float, para conter esse valor.


Arduino Forum > International > Portugues > Ajuda com código para escrever em display


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'