Citazione:
Originalmente inviato da illez ...(in subordine, come ci porto il suono campionato??  ) |
Una possibilità è questa: ti procuri un programma di editing audio (io uso CoolEdit); con questi programmi hai due possibilità: o campioni il suono o lo generi usando due oscillatori a circa 320 e 350 hz. A questo punto puoi normalizzarlo per avere 256 valori picco-picco in modo da convertirlo con 8 bit e decidi la frequenza di campionamento a cui vuoi riprodurlo.
Quando hai raggiunto un risultato soddisfacente memorizzi il file in formato 'ascii': il programma ti genera una tabella con tutti i campioni espressi come numeri decimali; con un programmino da poche righe leggi il file e lo formatti in modo che diventi la dichiarazione di un vettore con inizializzazione dei valori tipo:
unsigned char Clakson = { 0, 01, 02, 04, ...
---
255, 255, 0, 0};
e lo includi nel tuo programma e puoi con un primo programma scriverlo nella memoria flash esterna e con un secondo leggerlo per ricostruire il suono.
Per l'uscita la soluzione più semplice è uno shift register a 8 bit con un convertitore R/2R ed un amplificatore. In assembly ti bastano circa 150 uS per leggere un dato e scriverlo sul convertitore ed avere una banda passante accettabile...
Michele