Ir ao conteúdo

Mostrar número negativo com ponto flutuante com CCS C


Fervolt

Posts recomendados

Postado

Boa tarde pessoal,

Estou construindo um termometro que mede temperatura até -40°C e estou com dificuldade em mostrar em um LCD a temperatura negativa com casa decimal.

É um projeto com PIC18F4550, LCD 16x2 e sensor PT100.

Sem casa decimal funciona certinho toda a faixa de temperatura, usando variavel tipo 'int' e formatação "%d", mas quando mudo para 'float' não troca de sinal, abaixo de 0° mostra valores positivos e incoerente com a temperatura

Alguém sabe uma maneira de resolver isso?

Valeu

Postado

Amigo, no ccs, para mostrar no display variáveis tipo float é só usar %f :

printf(lcd_putc,"%f",y); // mostra a variável y do tipo float

Tanto faz se ela for positiva ou negativa, se for negativa apenas aparece o "-" na frente.

Espero ter ajudado!

valeu!

Postado

filipe_600 obrigado pela resposta.

Sim, eu estava fazendo dessa forma, mas não mostrava porque o tipo da função não estava especificado então ela retornava 'int'. Foi só colocar 'float' na frente do nome da função que funcionou como esperado.

Estava assim: calcula_temp(int16 vlr_ad)

Ficou assim: float calcula_temp(int16 vlr_ad)

Obrigado

  • Coordenador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!