Proteus problema quando si utilizza il tipo float

M

muoinhohn

Guest
Ciao a tutti
Io uso Proteus v7.1 SP2 per simulare ATmega32.
Il mio programma di test è semplice:
--------------------------------------
# Include <avr/io.h>
int main ()
(
ek galleggiante;
signed char i, j;

while (1)
(
i = Porta;
ek = i - 2;
if (ek <2) (j = 0; ek = 10;)
altro j = 1;
)
return 0;
)
----------------------------------------------
Quando uso AVR Studio per simulare, tutto è ok:
* Variabile i è sempre uguale a 0
* Ek ha valori 10, 8, 6, 4, 2, 0
* J variabile è stato 0 o 1

Ma quando io uso Proteus, la variabile j è sempre uguale a 1.Ciò significa che l'equazione (ek <2) è sempre false.

Lo stesso programma come sopra, ma posso cambiare "float EK" a "firmato ek int", quindi è tutto ok in AVRStudio e Proteus troppo.

Chiunque mi può aiutare a spiegare questo problema.
Grazie in anticipo
Saluti

Muoinhohn

 

Welcome to EDABoard.com

Sponsor

Back
Top