Ciao,
Roswell1947 ha scritto:Se ho dei valori in virgola mobile ... e volessi successivamente convertirli in valore analogico (senza usare microcontrollori)
In virgola mobile, senza microcontrollori la vedo dura.
Roswell1947 ha scritto:come effettuo la conversione in valore analogico?
La conversione da virgola mobile a intero è digitale, poi la conversione da intero ad analogico (corrente o tensione elettrica) la fa il DAC.
Per ogni campione, la conversione a intero (in C per esempio) potrebbe essere:
- Codice: Seleziona tutto
valoreIntero = (unsigned int)(((valoreVirgolaMobile + 1.0) / 2.0) * (RANGE_DAC - 1));
Per esempio se il DAC è a 8 bit, RANGE_DAC è 256, e:
- il valore -1.0 verrà convertito a 0
- il valore 0.0 verrà convertito a 127
- il valore 1.0 verrà convertito a 255
I valori intermedi ovviamente verranno convertiti a valori intermedi.
Roswell1947 ha scritto:Mi spiego meglio,per memorizzare dei valori di seno e coseno di certo non potrò usare la rappresentazione con interi
Certo che puoi usarla. Memorizzi i valori pronti da dare in pasto al DAC, quelli che escono dalla conversione precedente. Così puoi fare la conversione prima, e a run-time non ti serve fare calcoli.
In questo modo potresti non aver bisogno di un microcontrollore, potrebbe bastarti un contatore digitale come generatore di indirizzi per la ROM.
Roswell1947 ha scritto:che tipo di dac dovrei usare?
Se ti bastano 8 bit, un
DAC08 per esempio.