Non li usate. Sono sbagliati!!! la prof. mi ha bocciato perché ho usato quello qui riportato sull’onda quadra... ha detto che era confuso, e che l’onda poteva essere semplicemente generata con un for che suddivideva i casi in cui l’indice era pari o dispari. Ad esempio:
for(int i =0 ; i<N; i++){
if (i%2==0){
LUT
=0;
}
else
LUT=4095;
}
L’alternativa era con un flag, ma va bene anche così. Questo è il corretto algoritmo per avere in memoria il vettore di elementi a partire dal quale generare poi l’onda quadra col DAC. Il periodo lo impostate col timer. State attenti al fatto che UN PERIODO INTERO corrisponde ad un valore BASSO+ALTO dell’onda:
Guarda allegato 2275
Ergo, se l’onda deve avere periodo 3, il timer lo dovete impostare alla metà: 1,5. In questo modo convertendo due campioni (per convertire il primo ci mette un tempo t1 = 1,5 s, per il secondo un tempo t2 = 1,5 s) avrete che il periodo totale dell’onda sarà proprio 3. Sono tutte cose che nel corso non sono state mai spiegate, e vanno date per scontato. Io le ho capite perché sono andato a chiedere chiarimenti. Quindi ci tenevo a condividere la mia esperienza con voi in modo che non commettiate i miei stessi errori.