[MPLAB] Mostrar valores float no MPLAB SIMULATOR

Essa dica é foi testada no compilador C18.

Código Fonte

#include "stdio.h"            // Biblioteca contendo a função printf (substituir aspas por maior menor)
#include "p18f4520.h"         // Escolha do seu microcontrolador (substituir aspas por maior menor)

#define MULTIPLICADOR 1000    // Multiplicador para acertar a parte decimal

typedef struct                // Cria um tipo com uma estrutura
{
   float re;                  // Declara dois membros para esta estrutura
   float im;
}Ncomp;

void display(Ncomp x)         // Função
{
   int Valor1,Precisao1,Valor2,Precisao2;

   Valor1 = (int)x.re;                                // Pega a parte inteira do numero
   Precisao1 = (int)((x.re-Valor1)*MULTIPLICADOR);    // Pega a parte decimal do numero
   Valor2 = (int)x.im;                                // Pega a parte inteira do numero
   Precisao2 = (int)((x.im-Valor2)*MULTIPLICADOR);    // Pega a parte decimal do numero
   printf("(%d.%03d + j%d.%03d)n",Valor1,Precisao1,Valor2,Precisao2);
}

void main(void)
{
   Ncomp a = {1.2,2.5};       // Declara e inicializa uma variável Var do tipo "Ncomp"
   Ncomp b = {3.7,4.0};       // Declara e inicializa uma variável Var do tipo "Ncomp"
   display(a);
   display(b);
   while(1);
}

Com algumas modificações essa rotina pode ser usada para outros propósitos.

Comentem o que acharam dessa dica.


Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[MPLAB] Mostrar valores float no MPLAB SIMULATOR
Tags:         

Deixe uma resposta

%d blogueiros gostam disto: