da
alien75 » 3 ott 2025, 21:30
PietroBaima ha scritto:quell'integrato può fare qualunque fdo tu voglia, perché dici di non potere?
Hai ragione sto cercando in rete un pezzo di codice che fa la rampa, cosi evito di saldare l'HW degli integratori.
Ecco trovato un esempio di codice che lo genera:
- Codice: Seleziona tutto
#include <SPI.h>
#include <<<!nav>>CJMCU_AD9833<<!/nav>>.h>> // Assicurati di avere installata la libreria appropriata
// Pines di connessione
#define FSYNC_PIN 10 // Pin FSYNC per la selezione del chip
// Crea un'istanza dell'oggetto AD9833
CJMCU_AD9833 ad9833(FSYNC_PIN);
void setup() {
// Inizializza la comunicazione SPI
SPI.begin();
// Inizializza l'AD9833 e imposta una frequenza (es. 1 kHz)
// La sintassi esatta dipende dalla libreria specifica che stai usando
// Per generare una forma d'onda a dente di sega, sarà necessario inviare sequenze di dati molto specifiche
ad9833.begin();
ad9833.setFrequency(1000); // Imposta una frequenza di prova
}
void loop() {
// Aggiungi qui la logica per generare il dente di sega
// Questo è un esempio molto semplificato e non genera il dente di sega
// La forma d'onda a dente di sega richiede una manipolazione complessa del registratore interno del chip.
// Spesso è meglio usare un generatore di forme d'onda programmabile che supporti direttamente il dente di sega, o implementare un'uscita più complessa con una memoria interna che può essere caricata in tempo reale [1].
delay(1000);
}
Questo esempio non genera nessun dente di sega ma configura l'AD9833.
Nel sito dicono che generare tale forma d'onda è molto complesso perché richiede la conoscenza dei registri interni.