mmm ha scritto:
La difficoltà sta anche nel convertire uno 0.64 nel formato che dici tu. Verrebbe fuori uno 0000.1010 -> 0.625 Bisognerebbe aumentare la risoluzione dei bit della virgola...
Sembra essere più semplice adottare una notazione del genere:
1) Si stabilisce quante cifre dopo la virgola occorrono 2) Si stabilisce quante cifre prima della virgola occorronoEsempio: contiamo fino a 99.99
99 -> occorrono 7 bit0 0 _ _ _ _ _ _ _ _ , _ _ _ _ _ _ _
questo è il nostro numero. Se voglio rappresentare 6.5:
110.0110010 | | 6 . 50anche se ne tuo caso somma, differenza, moltiplicazione e divisione sono molto più semplici, basta shiftare, mentre nel mio caso è un pò più complesso.
10 successive, ovvero? Shift e Shift+somma 1?
Ottimo! Magari metto 2 zener da 14 V (perché altrimenti anche a 12 V uno dei due mi conduce), così se avrò un picco di tensione di 63 V che mi dura 500 us:
500 us * 63 = 31500 V*ussulla resistenza cadranno 63V-14V = 49V
l'impulso verrà allungato da 500 us a:
31500 V*us/49V = 643 us 143 us in più.... sono comunque accettabiliIl datasheet ufficiale l'ho sempre avuto fin dall'inizio, non avevo letto bene :)
Vabbè con un micro a 4 Mhz, anche se non hai tanti capture, per segnali lenti bastano gli interrupt. Poi è un micro enorme, qualcosa in più rispetto a un 16F84 ce l'avrà :)
Quelle le so fare, è l'unica cosa nella quale sono riuscito. Le sottrazioni, moltiplicazioni e divisioni fanno problemi, specie se usi registri a 8 bit e devi farle su numeri a 16 bit. Già l'avere registri a 16 bit su cui fare le operazioni, avrebbe semplificato il progetto di tantissimo.
A presto
Artemis